double_uint_t<Type>, half_uint_t<Type>
От: Videoman Россия https://hts.tv/
Дата: 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 что-то готовое. Просто не хочется использовать велосипед который уже есть в стандарте или не нужен по причине того что нужный функционал достигается гораздо проще. Кто что посоветует?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.