(Де) сериализация QSet с enum с использованием QDataStream

Я использую Qt 4.8.7. я имею enum Color {red, green, blue} а также QSet<Color>, Как я должен (де) сериализовать QSet<Color> с помощью QDataStream? Десериализация не выполняется с пользовательским типом. Должен ли я вручную создавать сериализацию (цикл по элементам QSet) помимо десериализации? Я имею в виду, что внутренняя реализация сериализации для QSet теоретически может быть изменена разработчиками Qt, поэтому я должен написать два цикла для сериализации / десериализации самостоятельно.

1 ответ

Вы можете использовать следующее приведение для десериализации, чтобы избежать создания ручных циклов:

data_stream >> reinterpret_cast<QSet<qint32>&>(color_set2);
Другие вопросы по тегам