В С++17 подвезли возможность создавать пользовательские литералы. Так получается что у меня в библиотеке для работы с большими числами литералы активно используются, типа:
constexpr auto oct = 03766713523035452062041773345651416625031020_u128;
constexpr auto dec = 338770000845734292534325025077361652240_u128;
constexpr auto hex = 0xfedcba9876543210fedcba9876543210_u128;
и т.д.
Возникли вопросы по дизайну API на которые в интернете не получилось найти ответ:
1. Допустим у библиотеки свое пространство имен mylib1: как задавать литералы с полной квалификаций:
constexpr auto oct = 03766713523035452062041773345651416625031020 mylib1::_u128; // ???
2. Как с using втащить их в нужное пространство имен:
namespace mylib2
{
using mylib1::_u128; // ???
}
3. Если по стандарту это не возможно, как с этим работать, какие лучшие практики? Или опять как-всегда не продумали и ждать С++2... ?