Пишу тут небольшую header-only шаблонную библиотеку для работы с цифрами в разных представлениях и системах счисления. Хотелось бы добавить синтаксис написания числа о указанной системой счисления. Вот такой:
"123"_4
Т.е.
Но для того чтобы произвести преобразование из строки в число, нужно использовать старый-добрый
strtol
из Си, или
std::from_chars
из С++17. Я думаю, что делать это в рантайме бессмысленно.
Согласно
cppreference, последний в C++23 стал
constexpr
, но я бы хотел сохранить поддержку хотя бы для C++17.
Попробовал реализовать сам, покопался в libstdc++ и в libc++, но там все очень сильно связано, половина функций, которые вызываются там - internal-use-only, и так ничего и не смог сделать(
А нагугленные мной реализации работают только с десятичной системой счисления, они мне не нужны.
А как библиотечные реализации работают?