Size: a a a

cxx.Дискуссионная

2020 March 18

O

Ofee in cxx.Дискуссионная
Егор
надо хотя-бы псевдокодом алгоритм написать
Да я попробовал, но запнулся именно на попытке написать что такое:
template<typename Tuple, size_t index, bool ... is_exists = loophole_magic<index>>
источник

Е

Егор in cxx.Дискуссионная
Ofee
Да я попробовал, но запнулся именно на попытке написать что такое:
template<typename Tuple, size_t index, bool ... is_exists = loophole_magic<index>>
я пока-что где-то на середине алгоритма запинаюсь, лучше утром подумать
источник

O

Ofee in cxx.Дискуссионная
Ofee
Да я попробовал, но запнулся именно на попытке написать что такое:
template<typename Tuple, size_t index, bool ... is_exists = loophole_magic<index>>
Естественно, это должна быть не одна строка, а через частичную специализацию
источник

TS

Till Schneider in cxx.Дискуссионная
Егор
надо хотя-бы псевдокодом алгоритм написать
Чот мне кажется, что constexpr счётчик пишется не очень сложно все равно, надо проверить
источник

Е

Егор in cxx.Дискуссионная
Till Schneider
Чот мне кажется, что constexpr счётчик пишется не очень сложно все равно, надо проверить
сложно пишеться переносимый счётчик
источник

O

Ofee in cxx.Дискуссионная
Till Schneider
Чот мне кажется, что constexpr счётчик пишется не очень сложно все равно, надо проверить
Так он пишется легко. Просто не работает из-за особенностей работы компилятора
источник

TS

Till Schneider in cxx.Дискуссионная
Егор
сложно пишеться переносимый счётчик
Вот и переносимый тоже несложно
источник

Е

Егор in cxx.Дискуссионная
что-то рабочее на одном компиле из троицы можно и в инете найти, и ту либу что Караев кидал
источник

Е

Егор in cxx.Дискуссионная
Ofee
Так он пишется легко. Просто не работает из-за особенностей работы компилятора
причём винить компиль из-за того что у тебя инкрементне идёт нельзя, ибо ты его абузишь
источник

TS

Till Schneider in cxx.Дискуссионная
Минут через 10 накидаю
источник

TS

Till Schneider in cxx.Дискуссионная
Я сча не у компа
источник

TS

Till Schneider in cxx.Дискуссионная
Есть одна идея...
источник

Е

Егор in cxx.Дискуссионная
лучше алгоритм накидай, с кодом можно на пару часов пропасть с 0 результата
источник

O

Ofee in cxx.Дискуссионная
Till Schneider
Вот и переносимый тоже несложно
Компилятор не может из одной constexpr функции вернуть разные результаты, даже если они действительно разные. Я вообще не уверен, что наши первые попытки не вызывают нарушения ODR этим
источник

Е

Егор in cxx.Дискуссионная
Ofee
Компилятор не может из одной constexpr функции вернуть разные результаты, даже если они действительно разные. Я вообще не уверен, что наши первые попытки не вызывают нарушения ODR этим
Мне кажется что в итоге они просто будут кэшировать все результаты constexpr функций и лупхолы умрут
источник

O

Ofee in cxx.Дискуссионная
Егор
Мне кажется что в итоге они просто будут кэшировать все результаты constexpr функций и лупхолы умрут
Именно так оно и работает, да, но это можно обойти, если у нас действительно разные инстанцирования
источник

Е

Егор in cxx.Дискуссионная
Ofee
Именно так оно и работает, да, но это можно обойти, если у нас действительно разные инстанцирования
Ну вот у Антона да, так что нужно +- похожее пилить
источник

Е

Егор in cxx.Дискуссионная
я так понял там unique() и нужен чтобы кэширований не было
источник

O

Ofee in cxx.Дискуссионная
Так, стоп, true/false – это счётчик? Как нам экстраполировать на диапазон size_t?
источник

Е

Егор in cxx.Дискуссионная
не понял
источник