Здравствуйте, watchmaker, Вы писали:
W>Здравствуйте, _smit, Вы писали:
_>>Как лучше компаратор реализовать, чтобы не нарушать strict weak ordering? W>Не <=, а просто < (или std::less, если угодно).
возможно я не прав, но так нельзя. Например если фрагмент нулевой длины, то at(0) укажет на нулевой номер фрагмента, а должен указывать на следующий фрагмент. то же самое будет, если фрагмент имеет длину n, на запрос at(n) вернется не следующий, а текущий номер фрагмента. "равно" появилось именно после тестов.
С остальным согласен, подумаю, т.к. фрагменты содержат не только полезные данные, но и служебную информацию в которой поле длины фрагмента два байта, но на первый взгляд всё легко вычислимо без дополнительных полей индекса.