Size: a a a

2020 March 08

AT

Anatoly Tomilov in pro.cxx
Nikita Provotorov
А почему он не будет работать с Bidirectional?
Будет, но неоптимально
источник

AT

Anatoly Tomilov in pro.cxx
Хотя, если версия для forward/bidirectional использует advance и он диспатчится не по категории, а по наличию оператора operator + (difference_type), то проблемы нет
источник

NP

Nikita Provotorov in pro.cxx
Anatoly Tomilov
Будет, но неоптимально
Да, кажется тут в дизайне STL допущен косяк - фактически попытка ввести свою категорию итераторов бессмысленна, поскольку перегрузить алгоритмы STL для нее нельзя
источник

FS

Flower Surgeon in pro.cxx
Nikita Provotorov
Да, кажется тут в дизайне STL допущен косяк - фактически попытка ввести свою категорию итераторов бессмысленна, поскольку перегрузить алгоритмы STL для нее нельзя
ну простите, что есть — то есть. boost::iterator_facade в помощь.
источник

AP

Antony Polukhin in pro.cxx
Nikita Provotorov
Да, кажется тут в дизайне STL допущен косяк - фактически попытка ввести свою категорию итераторов бессмысленна, поскольку перегрузить алгоритмы STL для нее нельзя
Посмотрите как там с этим дело в ranges обстоит
Но кажется что проблема только стала глубже, сову придётся натягивать на больший глобус
источник

FS

Flower Surgeon in pro.cxx
В стандартной библиотеке проблем столько, что целого мира мало их обсуждать.
источник

AT

Anatoly Tomilov in pro.cxx
Эта - фундаментальная)
источник

FS

Flower Surgeon in pro.cxx
Если вы так считаете — донесите это до комитета.
источник

FS

Flower Surgeon in pro.cxx
Я не троллю, если что.
источник

NP

Nikita Provotorov in pro.cxx
Flower Surgeon
Если вы так считаете — донесите это до комитета.
Думается мне, что у этой проблемы решения придумать не получится, поскольку даже если и разрешить перегружать алгоритмы STL для итераторов, то неясно как это делать портабельно - в каких то реализациях может использоваться перегрузка функций по тэгу итератора, в каких то enable_if опять же по тегу
источник

AT

Anatoly Tomilov in pro.cxx
Flower Surgeon
Если вы так считаете — донесите это до комитета.
Это практически невозможно. Слишком много трудозатрат. Только как непосредственные служебные обязанности.
источник

FS

Flower Surgeon in pro.cxx
Nikita Provotorov
Думается мне, что у этой проблемы решения придумать не получится, поскольку даже если и разрешить перегружать алгоритмы STL для итераторов, то неясно как это делать портабельно - в каких то реализациях может использоваться перегрузка функций по тэгу итератора, в каких то enable_if опять же по тегу
По поводу перегрузки ниблоиды же есть.
источник

FS

Flower Surgeon in pro.cxx
Anatoly Tomilov
Это практически невозможно. Слишком много трудозатрат. Только как непосредственные служебные обязанности.
Скажем так: дорогу осилит идущий. Если вам это действительно надо — донесёте.
источник

AT

Anatoly Tomilov in pro.cxx
Nikita Provotorov
Думается мне, что у этой проблемы решения придумать не получится, поскольку даже если и разрешить перегружать алгоритмы STL для итераторов, то неясно как это делать портабельно - в каких то реализациях может использоваться перегрузка функций по тэгу итератора, в каких то enable_if опять же по тегу
Можно добавить катигорию ModularIterator между (Legacy) Bidirectionalterator и RandomAccessIterator, которая будет отличаться от последней отсутствием требования  ordering relation
источник

NP

Nikita Provotorov in pro.cxx
Flower Surgeon
По поводу перегрузки ниблоиды же есть.
Как они тут могут помочь? Речь же не о том как вызвать функцию которая объявлена неизвестно где, а о том, как такую функцию перегрузить правильно, не глядя на реальную имплементацию
источник

AT

Anatoly Tomilov in pro.cxx
Flower Surgeon
Скажем так: дорогу осилит идущий. Если вам это действительно надо — донесёте.
"Действительно надо"? Я не в мире победившего коммунизма живу, чтобы "для души" чем-то всерьёз можно было бы заниматься на постоянной основе
источник

FS

Flower Surgeon in pro.cxx
Nikita Provotorov
Как они тут могут помочь? Речь же не о том как вызвать функцию которая объявлена неизвестно где, а о том, как такую функцию перегрузить правильно, не глядя на реальную имплементацию
ниблоиды как раз об этом
источник

DS

Dmitry Sokolov in pro.cxx
Anatoly Tomilov
При чём здесь буст? Есть иерархия категорий в стандартной библиотеке. Я хочу заюзать свой адаптер контейнера - кольцевой буффер - в алгоритмах. Мне надо ему категорию задать, иначе нельзя. Какую? Это вопрос.
А контроля заполненности буфера нет? Почему итераторы не сравнимы?
источник

AT

Anatoly Tomilov in pro.cxx
Dmitry Sokolov
А контроля заполненности буфера нет? Почему итераторы не сравнимы?
Потому что "по модулю")
источник

FS

Flower Surgeon in pro.cxx
Anatoly Tomilov
"Действительно надо"? Я не в мире победившего коммунизма живу, чтобы "для души" чем-то всерьёз можно было бы заниматься на постоянной основе
причём тут коммунизм? я просто намекаю на то, что если кого-то что-то не устраивает, то этот кто-то может запилить пропозал. Вот и всё.
источник