170 похожих чатов

Утренняя головоломка: Как с помощью std::ranges токенизировать строку более чем по

2м разделителям? Как заставить компилироваться закоментаренный кусок кода https://godbolt.org/z/qxff1aKaW ?

9 ответов

23 просмотра

Не понял, то есть по двум легко, а вот по 3-м уже нет?

Проблема в том, что libstdc++ (безуспешно) пытается определить join_view<...>::_Iterator::iterator_category и обламывается по ходу, при том что в принципе не должен этого делать: http://eel.is/c++draft/range.join#iterator-2

Можно в начале все разделители свести к одному и потом применять один сплит: https://godbolt.org/z/M1sc1Tzvv Но вообще я тоже считаю что правильное решение split_when. Если его еще нет в стандарте, надо написать свой.

magras
Можно в начале все разделители свести к одному и п...

А мне вот кажется, что код Антона должен работать "из коробки", потому что иначе - это всё теряет какой-либо смысл. Как писать эти цепочки трансформаций, если надо помнить, что в какой-то момент оно сломается с адовой ошибкой компиляции?

Pavel Zhigulin
А мне вот кажется, что код Антона должен работать ...

С этим я согласен. Но три сплита - это три прохода по строке, то есть изначальный пример еще и неэффективен.

magras
С этим я согласен. Но три сплита - это три прохода...

Это не имеет значения :) Я хочу иметь право писать гавно :)

🐙 Antony-Polukhin Автор вопроса
magras
Можно в начале все разделители свести к одному и п...

О! Спасибо. Кажется что оно даже за 1 проход работает, так что всё не так страшно

Сменить компилятор на Clang 17 например ;)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта