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 { |