Есть ли способ в C ++ определить тип, который достаточно большой, чтобы содержать не более определенного числа, предположительно, с использованием некоторого умного кода шаблона.Например, я хочу иметь возможность написать: -
Integer<10000>::type dataItem;
И разрешить ли этот тип наименьшему типу, который достаточно большой, чтобы содержать указанное значение?
Справочная информация: мне нужногенерировать определения переменных с использованием сценария из внешнего файла данных.Я думаю, я мог бы заставить скрипт посмотреть значения, а затем использовать uint8_t
, uint16_t
, uint32_t
и т. Д. В зависимости от значения, но кажется, что элегантный выглядит более сложным, чтобы встроить размерсгенерированный код C ++.
Я не вижу способа создать шаблон, который бы мог это сделать, но, зная шаблоны C ++, я уверен, что есть способ.Есть идеи?