Построить набор битов из массива целых чисел
Это легко построитьbitset<64>
изuint64_t
:
uint64_t flags = ...;
std::bitset<64> bs{flags};
Но есть ли хороший способ построитьbitset<64 * N>
изuint64_t[N]
такой, чтоflags[0]
будет относиться к младшим 64 битам?
uint64_t flags[3];
// ... some assignments
std::bitset<192> bs{flags}; // this very unhelpfully compiles
// yet is totally invalid
Или я застрял, чтобы позвонитьset()
в цикле?