Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Yegor от Апрель 21, 2015, 10:21



Название: Сериализация QList
Отправлено: Yegor от Апрель 21, 2015, 10:21
Здравствуйте, уважаемые форумчане!

У меня есть QList, который состоит из структур типа:

Код:
struct _item
{
    quint8 data;
    int x, y;
}

То есть получается такой список:
Код:
QList<_item>

И теперь мне его нужно сохранять/загружать потоками - QDataStream

В assistant-е пишется, что для этого нужно для элементов списка перегрузить операции сериализации:
Цитировать
This function requires the value type to implement operator<<()
This function requires the value type to implement operator>>()
Здесь толком не понятны их прототипы.

Приведите, пожалуйста, мне код функций переопределения сериализации для элементиков. Или хотя бы объявления этих функций.


Название: Re: Сериализация QList
Отправлено: __Heaven__ от Апрель 21, 2015, 10:32
Код
C++ (Qt)
QDataStream& operator<<(QDataStream& ds, const _item& item)
{
}
 
вроде так


Название: Re: Сериализация QList
Отправлено: ibnz от Апрель 21, 2015, 11:41
Код:
QDataStream &operator<<(QDataStream &out, const _item &i)
{
    out << i.data
          << i.x
          << i.y;
}

QDataStream &operator>>(QDataStream &in, _item &i)
{
    in >> i.data
       >> i.x
       >> i.y;
}