std::stoul и прочие конвертеры строка -> число должны быть constexpr и должны принимать string_view

JordanRudess
JordanRudess

Сабж

4
рейтинг
6 комментариев
yndx-antoshkka
constexpr они в ближайшем будущем не станут, так как используют локали.
Принимать string_view - это хорошая идея, но нужен протитип
yndx-antoshkka
ru.night.beast
yndx-antoshkka, а нужны ли локали для преобразования строки в число? может есть смысл в дополнительных функциях нормализации строки, а конвертеры пусть работают уже с нормализованной.
ru.night.beast
yndx-antoshkka
Вы предлагаете std::to_chars/std::from_chars :)

Я перепроверил, ваше предложение на использование string_view уже рассматривается вот тут http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0506r2.pdf и скорее всего попадёт в C++20

А вот сделать std::to_chars/std::from_chars constexpr - очень хорошая задача!
yndx-antoshkka
ru.night.beast
yndx-antoshkka, ну, предложение не мое :) просто пять копеек добавил...
ru.night.beast
Antervis
yndx-antoshkka, а string_view версия не будет медленнее const char * аналога?
Antervis
yndx-antoshkka
Перегрузка с const char* остаётся, при передаче char* и const char*, выбирается именно она, так что медленнее не будет.
yndx-antoshkka
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).
Все предложения