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