double_uint_t<Type>, half_uint_t<Type>
От: Videoman Россия http://www.htsproduction.com/
Дата: 10.10.19 13:19
Оценка:
Рад приветствовать всех гуру С++, кто готов помочь со следующим вопросом: сейчас в одной подсистеме нашей библиотеки активно понадобилось создавать типы в два раза большие и в два раза меньшие, по количеству бит, типа:

uint32_t -> uint64_t или uint32_t -> uint_16 // и т.д.

Сейчас это сделал с помощью самописанных type traits, ничего сложного:
// Дальше используется как-то так:
double_uint_t<uint32_t> a; // а будет 64-х битным
half_uint_t<uint32_t> b;   // b будет 16-и битным

Но вот задумался, а не подвезли ли уже в С++17 что-то готовое. Просто не хочется использовать велосипед который уже есть в стандарте или не нужен по причине того что нужный функционал достигается гораздо проще. Кто что посоветует?
http://www.gravatar.com/avatar/60560936caa07b944d4c3cecf1c06cc5?s=80&d=identicon
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.