src/functional.h

changeset 259
c27612f0eac0
parent 123
e3fe3617b631
equal deleted inserted replaced
258:fe094d0687ad 259:c27612f0eac0
74 auto makeDefaultInserter(std::vector<T>& vec) 74 auto makeDefaultInserter(std::vector<T>& vec)
75 { 75 {
76 return std::back_inserter(vec); 76 return std::back_inserter(vec);
77 } 77 }
78 78
79 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
80 // In Qt6 QVector is now a QList instead, so we need to disable this
79 // Constructs a back_inserter for QVector 81 // Constructs a back_inserter for QVector
80 template<typename T> 82 template<typename T>
81 auto makeDefaultInserter(QVector<T>& vec) 83 auto makeDefaultInserter(QVector<T>& vec)
82 { 84 {
83 return std::back_inserter(vec); 85 return std::back_inserter(vec);
84 } 86 }
87 #endif
85 88
86 // Constructs a back_inserter for QList
87 template<typename T> 89 template<typename T>
88 auto makeDefaultInserter(QList<T>& vec) 90 auto makeDefaultInserter(QList<T>& vec)
89 { 91 {
90 return std::back_inserter(vec); 92 return std::back_inserter(vec);
91 } 93 }
108 struct ChangeContainerValueType<std::vector<T>, TT> 110 struct ChangeContainerValueType<std::vector<T>, TT>
109 { 111 {
110 using type = std::vector<TT>; 112 using type = std::vector<TT>;
111 }; 113 };
112 114
115 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
113 // Changes the value type of QVector 116 // Changes the value type of QVector
114 template<typename T, typename TT> 117 template<typename T, typename TT>
115 struct ChangeContainerValueType<QVector<T>, TT> 118 struct ChangeContainerValueType<QVector<T>, TT>
116 { 119 {
117 using type = QVector<TT>; 120 using type = QVector<TT>;
118 }; 121 };
122 #endif
119 123
120 // Changes the value type of QSet 124 // Changes the value type of QSet
121 template<typename T, typename TT> 125 template<typename T, typename TT>
122 struct ChangeContainerValueType<QSet<T>, TT> 126 struct ChangeContainerValueType<QSet<T>, TT>
123 { 127 {

mercurial