У меня есть следующие фрагменты где-то в моей текущей кодовой базе:
// uint32_t id; defined somewhere
bool msb_set = id & 0x80000000
И я хотел бы изменить это на что-то более гибкое:
using id_t = uint64_t;
id_t id;
bool msb_set = id & 0x80000000 // uh-oh, semantic change for any other differently sized inttype
Как мне проще всего генерироватьсоответствующий литерал в зависимости от конкретного используемого типа?Я ищу что-то вроде
numeric_constants<id_t>::int_with_msb_set();