File: QQmlQListVariantConverter.h

package info (click to toggle)
qt-qml-models 0~0.0-1
  • links: PTS
  • area: main
  • in suites: sid, trixie
  • size: 172 kB
  • sloc: cpp: 1,034; makefile: 52
file content (29 lines) | stat: -rw-r--r-- 857 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef QQMLQLISTVARIANTCONVERTER_H
#define QQMLQLISTVARIANTCONVERTER_H

#include <QVariant>
#include <QVariantList>
#include <QList>

template<typename T> QList<T> qListFromVariant (const QVariantList & list) {
    QList<T> ret;
    ret.reserve (list.size ());
    for (QVariantList::const_iterator it = list.constBegin (); it != list.constEnd (); it++) {
        const QVariant & var = (QVariant) (* it);
        ret.append (var.value<T> ());
    }
    return ret;
}

template<typename T> QVariantList qListToVariant (const QList<T> & list) {
    QVariantList ret;
    ret.reserve (list.size ());
    for (typename QList<T>::const_iterator it = list.constBegin (); it != list.constEnd (); it++) {
        const T & val = static_cast<T>(* it);
        ret.append (QVariant::fromValue (val));
    }
    return ret;
}


#endif // QQMLQLISTVARIANTCONVERTER_H