Двоичная сериализация std :: bitset

std :: bitset имеет метод to_string () для сериализации в виде строки на основе char 1 с и 0 с. Очевидно, здесь используется один 8-битный char для каждого бита в битовом наборе, что делает сериализованное представление в 8 раз длиннее, чем необходимо.
Я хочу сохранить битовый набор в двоичном представлении для экономии места. Метод to_ulong () актуален только тогда, когда в моем битовом наборе меньше 32 бит. У меня сотни.
Я не уверен, что хочу использовать memcpy () / std :: copy () на самом объекте (адресе), поскольку это предполагает, что объект является POD.

API, похоже, не обеспечивает дескриптор представления внутреннего массива, из которого я мог бы взять адрес.

Мне также нужна возможность десериализации битового набора из двоичного представления.

Как я могу это сделать ?

12
задан Edward 19 December 2014 в 13:44
поделиться