32#ifndef _QX_IS_CONTAINER_H_
33#define _QX_IS_CONTAINER_H_
76#ifdef _QX_ENABLE_BOOST
78template <
typename Key,
typename Value>
81template <
typename Key,
typename Value>
84template <
typename Key,
typename Value>
87template <
typename Key,
typename Value>
88struct is_container< const
boost::unordered_map<Key, Value> & > :
public std::true_type { ; };
90template <
typename Key,
typename Value>
93template <
typename Key,
typename Value>
94struct is_container<
boost::unordered_multimap<Key, Value> & > :
public std::true_type { ; };
96template <
typename Key,
typename Value>
97struct is_container< const
boost::unordered_multimap<Key, Value> > :
public std::true_type { ; };
99template <
typename Key,
typename Value>
100struct is_container< const
boost::unordered_multimap<Key, Value> & > :
public std::true_type { ; };
128template <
typename Key,
typename Value>
131template <
typename Key,
typename Value>
132struct is_container< QHash<Key, Value> & > :
public std::true_type { ; };
134template <
typename Key,
typename Value>
135struct is_container< const QHash<Key, Value> > :
public std::true_type { ; };
137template <
typename Key,
typename Value>
138struct is_container< const QHash<Key, Value> & > :
public std::true_type { ; };
140#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))
142struct is_container< QLinkedList<T> > :
public std::true_type { ; };
145struct is_container< QLinkedList<T> & > :
public std::true_type { ; };
148struct is_container< const QLinkedList<T> > :
public std::true_type { ; };
151struct is_container< const QLinkedList<T> & > :
public std::true_type { ; };
166template <
typename Key,
typename Value>
169template <
typename Key,
typename Value>
170struct is_container< QMap<Key, Value> & > :
public std::true_type { ; };
172template <
typename Key,
typename Value>
173struct is_container< const QMap<Key, Value> > :
public std::true_type { ; };
175template <
typename Key,
typename Value>
176struct is_container< const QMap<Key, Value> & > :
public std::true_type { ; };
178template <
typename Key,
typename Value>
179struct is_container< QMultiHash<Key, Value> > :
public std::true_type { ; };
181template <
typename Key,
typename Value>
182struct is_container< QMultiHash<Key, Value> & > :
public std::true_type { ; };
184template <
typename Key,
typename Value>
185struct is_container< const QMultiHash<Key, Value> > :
public std::true_type { ; };
187template <
typename Key,
typename Value>
188struct is_container< const QMultiHash<Key, Value> & > :
public std::true_type { ; };
190template <
typename Key,
typename Value>
191struct is_container< QMultiMap<Key, Value> > :
public std::true_type { ; };
193template <
typename Key,
typename Value>
194struct is_container< QMultiMap<Key, Value> & > :
public std::true_type { ; };
196template <
typename Key,
typename Value>
197struct is_container< const QMultiMap<Key, Value> > :
public std::true_type { ; };
199template <
typename Key,
typename Value>
200struct is_container< const QMultiMap<Key, Value> & > :
public std::true_type { ; };
214#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
216struct is_container< QVector<T> > :
public std::true_type { ; };
219struct is_container< QVector<T> & > :
public std::true_type { ; };
222struct is_container< const QVector<T> > :
public std::true_type { ; };
225struct is_container< const QVector<T> & > :
public std::true_type { ; };
228template <
typename Key,
typename Value>
231template <
typename Key,
typename Value>
234template <
typename Key,
typename Value>
237template <
typename Key,
typename Value>
252template <
typename Key,
typename Value>
255template <
typename Key,
typename Value>
258template <
typename Key,
typename Value>
261template <
typename Key,
typename Value>
288template <
typename Key,
typename Value>
291template <
typename Key,
typename Value>
294template <
typename Key,
typename Value>
295struct is_container< const
std::unordered_map<Key, Value> > :
public std::true_type { ; };
297template <
typename Key,
typename Value>
298struct is_container< const
std::unordered_map<Key, Value> & > :
public std::true_type { ; };
300template <
typename Key,
typename Value>
301struct is_container<
std::unordered_multimap<Key, Value> > :
public std::true_type { ; };
303template <
typename Key,
typename Value>
304struct is_container<
std::unordered_multimap<Key, Value> & > :
public std::true_type { ; };
306template <
typename Key,
typename Value>
307struct is_container< const
std::unordered_multimap<Key, Value> > :
public std::true_type { ; };
309template <
typename Key,
typename Value>
310struct is_container< const
std::unordered_multimap<Key, Value> & > :
public std::true_type { ; };
334struct is_container< const
std::unordered_multiset<T> & > :
public std::true_type { ; };
QxOrm thread-safe container (keep insertion order + quick access by index + quick access by key)
qx::QxCollection<Key, Value> : QxOrm thread-safe container (keep insertion order + quick access by in...
qx::trait::is_boost_unordered_map<T>::value : return true if T is a boost::unordered_map<> or boost::...
qx::trait::is_boost_unordered_set<T>::value : return true if T is a boost::unordered_set<> or boost::...
qx::trait::is_qt_hash<T>::value : return true if T is a QHash<> container of Qt library,...
qx::trait::is_qt_list<T>::value : return true if T is a QList<> container of Qt library,...
qx::trait::is_qt_map<T>::value : return true if T is a QMap<> container of Qt library,...
qx::trait::is_qt_multi_hash<T>::value : return true if T is a QMultiHash<> container of Qt library,...
qx::trait::is_qt_multi_map<T>::value : return true if T is a QMultiMap<> container of Qt library,...
qx::trait::is_qt_set<T>::value : return true if T is a QSet<> container of Qt library,...
qx::trait::is_qt_vector<T>::value : return true if T is a QVector<> container of Qt library,...
qx::trait::is_qx_collection<T>::value : return true if T is a qx::QxCollection<> container of QxOrm l...
qx::trait::is_std_list<T>::value : return true if T is a std::list<> container of stl library,...
qx::trait::is_std_map<T>::value : return true if T is a std::map<> container of stl library,...
qx::trait::is_std_set<T>::value : return true if T is a std::set<> container of stl library,...
qx::trait::is_std_unordered_map<T>::value : return true if T is a std::unordered_map<> or std::unorde...
qx::trait::is_std_unordered_set<T>::value : return true if T is a std::unordered_set<> or std::unorde...
qx::trait::is_std_vector<T>::value : return true if T is a std::vector<> container of stl library,...
Root namespace for all QxOrm library features.
qx::trait::is_container<T>::value : return true if T is a container from stl, boost,...