QxOrm  1.5.0
C++ Object Relational Mapping library
QxTraits : QxOrm library traits (template metaprogramming) not available in 'boost::type_traits' library

Classes

struct  qx::trait::is_ix_persistable< T >
 qx::trait::is_ix_persistable<T>::value : return true if T implements qx::IxPersistable interface, otherwise return false More...
struct  qx::trait::is_archive_printable< T >
 qx::trait::is_archive_printable<T>::value : define if a boost::archive type is readable by a human (for example XML archive) or not (for example binary archive) More...
struct  qx::trait::is_archive_wide< T >
 qx::trait::is_archive_wide<T>::value : define if a boost::archive type uses wide string character and stream (for example std::wstring) or not (for example std::string) More...
struct  qx::trait::construct_null_qvariant< T >
 qx::trait::construct_null_qvariant<T>::get() : create a NULL QVariant which matches QVariant::Type with type T More...
struct  qx::trait::construct_ptr< T >
 qx::trait::construct_ptr<T>::get(T & t, bool bReset = false) : instantiate (or reset) a new pointer, support both nude-pointer and smart-pointer of boost, Qt and QxOrm libraries More...
struct  qx::trait::generic_container< T >
 qx::trait::generic_container<T> : provide some tools to manage all containers without knowing its type More...
class  qx::trait::get_base_class< T >
 qx::trait::get_base_class<T>::type : retrieve base class of type T registered into QxOrm context and return qx::trait::no_base_class_defined if no base class defined More...
struct  qx::trait::get_class_name< T >
 qx::trait::get_class_name<T>::get() : return class name of type T under const char * format, T must be registered with QX_REGISTER_CLASS_NAME(T) macro More...
class  qx::trait::get_primary_key< T >
 qx::trait::get_primary_key<T>::type : return primary key type of T, by default primary key is long type, use QX_REGISTER_PRIMARY_KEY() macro to register another type (for example QX_REGISTER_PRIMARY_KEY(T, QString)) More...
struct  qx::trait::get_sql_type< T >
 qx::trait::get_sql_type<T>::get() : return type name under const char * format used by database engine to map a C++ type T More...
struct  qx::trait::is_boost_intrusive_ptr< T >
 qx::trait::is_boost_intrusive_ptr<T>::value : return true if T is a boost::intrusive_ptr<> smart-pointer, otherwise return false More...
struct  qx::trait::is_boost_scoped_ptr< T >
 qx::trait::is_boost_scoped_ptr<T>::value : return true if T is a boost::scoped_ptr<> smart-pointer, otherwise return false More...
struct  qx::trait::is_boost_shared_ptr< T >
 qx::trait::is_boost_shared_ptr<T>::value : return true if T is a boost::shared_ptr<> smart-pointer, otherwise return false More...
struct  qx::trait::is_boost_unordered_map< T >
 qx::trait::is_boost_unordered_map<T>::value : return true if T is a boost::unordered_map<> or boost::unordered_multimap<> container, otherwise return false More...
struct  qx::trait::is_boost_unordered_set< T >
 qx::trait::is_boost_unordered_set<T>::value : return true if T is a boost::unordered_set<> or boost::unordered_multiset<> container, otherwise return false More...
struct  qx::trait::is_boost_weak_ptr< T >
 qx::trait::is_boost_weak_ptr<T>::value : return true if T is a boost::weak_ptr<> smart-pointer, otherwise return false More...
struct  qx::trait::is_container< T >
 qx::trait::is_container<T>::value : return true if T is a container from stl, boost, Qt or QxOrm library, otherwise return false More...
struct  qx::trait::is_container_key_value< T >
 qx::trait::is_container_key_value<T>::value : return true if T is a map or hash-map (with <Key, Value> template format) container from stl, boost, Qt or QxOrm library, otherwise return false More...
struct  qx::trait::has_operator_equal_equal< T >
 qx::trait::has_operator_equal_equal<T>::value : return true if T provides operator==() function, T must be registered with QX_TYPE_HAS_OPERATOR_EQUAL_EQUAL(T) macro More...
class  qx::trait::is_ptr_base_of< B, D >
 qx::trait::is_ptr_base_of<B, D>::value : return true if B and D are pointer type and (*B) is a base class of (*D) or if B and D are same type, otherwise return false More...
class  qx::trait::is_ptr_to_pod< T >
 qx::trait::is_ptr_to_pod<T>::value : return true if T is a pointer to a POD type (char, int, long, etc.), otherwise return false More...
struct  qx::trait::is_qt_hash< T >
 qx::trait::is_qt_hash<T>::value : return true if T is a QHash<> container of Qt library, otherwise return false More...
struct  qx::trait::is_qt_list< T >
 qx::trait::is_qt_list<T>::value : return true if T is a QList<> container of Qt library, otherwise return false More...
struct  qx::trait::is_qt_map< T >
 qx::trait::is_qt_map<T>::value : return true if T is a QMap<> container of Qt library, otherwise return false More...
struct  qx::trait::is_qt_multi_hash< T >
 qx::trait::is_qt_multi_hash<T>::value : return true if T is a QMultiHash<> container of Qt library, otherwise return false More...
struct  qx::trait::is_qt_multi_map< T >
 qx::trait::is_qt_multi_map<T>::value : return true if T is a QMultiMap<> container of Qt library, otherwise return false More...
struct  qx::trait::is_qt_scoped_ptr< T >
 qx::trait::is_qt_scoped_ptr<T>::value : return true if T is a QScopedPointer<> smart-pointer of Qt library, otherwise return false More...
struct  qx::trait::is_qt_set< T >
 qx::trait::is_qt_set<T>::value : return true if T is a QSet<> container of Qt library, otherwise return false More...
struct  qx::trait::is_qt_shared_data_ptr< T >
 qx::trait::is_qt_shared_data_ptr<T>::value : return true if T is a QSharedDataPointer<> smart-pointer of Qt library, otherwise return false More...
struct  qx::trait::is_qt_shared_ptr< T >
 qx::trait::is_qt_shared_ptr<T>::value : return true if T is a QSharedPointer<> smart-pointer of Qt library, otherwise return false More...
struct  qx::trait::is_qt_variant_compatible< T >
 qx::trait::is_qt_variant_compatible<T>::value : return true if T can be host into a QVariant object of Qt library, otherwise return false More...
struct  qx::trait::is_qt_vector< T >
 qx::trait::is_qt_vector<T>::value : return true if T is a QVector<> container of Qt library, otherwise return false More...
struct  qx::trait::is_qt_weak_ptr< T >
 qx::trait::is_qt_weak_ptr<T>::value : return true if T is a QWeakPointer<> smart-pointer of Qt library, otherwise return false More...
class  qx::trait::is_qx_collection< T >
 qx::trait::is_qx_collection<T>::value : return true if T is a qx::QxCollection<> container of QxOrm library, otherwise return false More...
struct  qx::trait::is_qx_dao_ptr< T >
 qx::trait::is_qx_dao_ptr<T>::value : return true if T is a qx::dao::ptr<> smart-pointer of QxOrm library, otherwise return false More...
struct  qx::trait::is_qx_pod< T >
 qx::trait::is_qx_pod<T>::value : return true if T is a POD type and not a pointer More...
struct  qx::trait::is_qx_registered< T >
 qx::trait::is_qx_registered<T>::value : return true if T is registered into QxOrm context to provide persitence (ORM), serialization and introspection features More...
struct  qx::trait::is_smart_ptr< T >
 qx::trait::is_smart_ptr<T>::value : return true if T is a smart-pointer of boost, Qt or QxOrm libraries, otherwise return false More...
class  qx::trait::is_smart_ptr_base_of< B, D >
 qx::trait::is_smart_ptr_base_of<B, D>::value : return true if B and D are smart-pointers of boost, Qt or QxOrm libraries and if (*B) is a base class of (*D), otherwise return false More...
class  qx::trait::is_smart_ptr_to_pod< T >
 qx::trait::is_smart_ptr_to_pod<T>::value : return true if T is a smart-pointer of boost, Qt or QxOrm libraries and (*T) is a POD type (char, int, long, etc.), otherwise return false More...
struct  qx::trait::is_std_list< T >
 qx::trait::is_std_list<T>::value : return true if T is a std::list<> container of stl library, otherwise return false More...
struct  qx::trait::is_std_map< T >
 qx::trait::is_std_map<T>::value : return true if T is a std::map<> container of stl library, otherwise return false More...
struct  qx::trait::is_std_set< T >
 qx::trait::is_std_set<T>::value : return true if T is a std::set<> container of stl library, otherwise return false More...
struct  qx::trait::is_std_shared_ptr< T >
 qx::trait::is_std_shared_ptr<T>::value : return true if T is a std::shared_ptr<> smart-pointer, otherwise return false More...
struct  qx::trait::is_std_unique_ptr< T >
 qx::trait::is_std_unique_ptr<T>::value : return true if T is a std::unique_ptr<> smart-pointer, otherwise return false More...
struct  qx::trait::is_std_unordered_map< T >
 qx::trait::is_std_unordered_map<T>::value : return true if T is a std::unordered_map<> or std::unordered_multimap<> container, otherwise return false More...
struct  qx::trait::is_std_unordered_set< T >
 qx::trait::is_std_unordered_set<T>::value : return true if T is a std::unordered_set<> or std::unordered_multiset<> container, otherwise return false More...
struct  qx::trait::is_std_vector< T >
 qx::trait::is_std_vector<T>::value : return true if T is a std::vector<> container of stl library, otherwise return false More...
struct  qx::trait::is_std_weak_ptr< T >
 qx::trait::is_std_weak_ptr<T>::value : return true if T is a std::weak_ptr<> smart-pointer, otherwise return false More...
struct  qx::trait::detail::is_valid_primary_key< T >
 qx::trait::is_valid_primary_key<T>(const T & t) : return true if t can be a valid primary key to be inserted into a database, otherwise return false More...
class  qx::trait::qt_meta_object< T >
 qx::trait::qt_meta_object<T>::get() : if T is based on QObject class, then return QMetaObject instance of Qt introspection engine, else return NULL More...
class  qx::trait::remove_attr< T, bRemovePtr, bRemoveConst, bRemoveRef, bRemoveVolatile >
 qx::trait::remove_attr<T>::type : return a type without pointer, const, reference and/or volatile attributes More...
struct  qx::trait::remove_smart_ptr< T >
 qx::trait::remove_smart_ptr<T>::type : return a type without smart-pointer attribute from boost, Qt or QxOrm library More...

Namespaces

namespace  qx::trait
 

QxOrm library traits (template metaprogramming) not available in boost::type_traits library.


namespace  qx::trait::detail
 

Internal helper tools for qx::trait namespace.


Files

file  archive_printable.h
 

qx::trait::is_archive_printable<T>::value : define if a boost::archive type is readable by a human (for example XML archive) or not (for example binary archive)


file  archive_wide_traits.h
 

qx::trait::is_archive_wide<T>::value : define if a boost::archive type uses wide string character and stream (for example std::wstring) or not (for example std::string)


file  construct_null_qvariant.h
 

qx::trait::construct_null_qvariant<T>::get() : create a NULL QVariant which matches QVariant::Type with type T


file  construct_ptr.h
 

qx::trait::construct_ptr<T>::get(T & t, bool bReset = false) : instantiate (or reset) a new pointer, support both nude-pointer and smart-pointer of boost, Qt and QxOrm libraries


file  generic_container.h
 

qx::trait::generic_container<T> : provide some tools to manage all containers without knowing its type


file  get_base_class.h
 

qx::trait::get_base_class<T>::type : retrieve base class of type T registered into QxOrm context and return qx::trait::no_base_class_defined if no base class defined


file  get_class_name.h
 

qx::trait::get_class_name<T>::get() : return class name of type T under const char * format, T must be registered with QX_REGISTER_CLASS_NAME(T) macro


file  get_class_name_primitive.h
 

Register all primitive and useful types of stl, boost and Qt libraries using QX_REGISTER_CLASS_NAME(T) macro.


file  get_primary_key.h
 

qx::trait::get_primary_key<T>::type : return primary key type of T, by default primary key is long type, use QX_REGISTER_PRIMARY_KEY() macro to register another type (for example QX_REGISTER_PRIMARY_KEY(T, QString))


file  get_sql_type.h
 

qx::trait::get_sql_type<T>::get() : return type name under const char * format used by database engine to map a C++ type T


file  is_boost_intrusive_ptr.h
 

qx::trait::is_boost_intrusive_ptr<T>::value : return true if T is a boost::intrusive_ptr<> smart-pointer, otherwise return false


file  is_boost_scoped_ptr.h
 

qx::trait::is_boost_scoped_ptr<T>::value : return true if T is a boost::scoped_ptr<> smart-pointer, otherwise return false


file  is_boost_shared_ptr.h
 

qx::trait::is_boost_shared_ptr<T>::value : return true if T is a boost::shared_ptr<> smart-pointer, otherwise return false


file  is_boost_unordered_map.h
 

qx::trait::is_boost_unordered_map<T>::value : return true if T is a boost::unordered_map<> or boost::unordered_multimap<> container, otherwise return false


file  is_boost_unordered_set.h
 

qx::trait::is_boost_unordered_set<T>::value : return true if T is a boost::unordered_set<> or boost::unordered_multiset<> container, otherwise return false


file  is_boost_weak_ptr.h
 

qx::trait::is_boost_weak_ptr<T>::value : return true if T is a boost::weak_ptr<> smart-pointer, otherwise return false


file  is_container.h
 

qx::trait::is_container<T>::value : return true if T is a container from stl, boost, Qt or QxOrm library, otherwise return false


file  is_container_key_value.h
 

qx::trait::is_container_key_value<T>::value : return true if T is a map or hash-map (with <Key, Value> template format) container from stl, boost, Qt or QxOrm library, otherwise return false


file  is_equal.h
 

qx::trait::has_operator_equal_equal<T>::value : return true if T provides operator==() function, T must be registered with QX_TYPE_HAS_OPERATOR_EQUAL_EQUAL(T) macro


file  is_ptr_base_of.h
 

qx::trait::is_ptr_base_of<B, D>::value : return true if B and D are pointer type and (*B) is a base class of (*D) or if B and D are same type, otherwise return false


file  is_ptr_to_pod.h
 

qx::trait::is_ptr_to_pod<T>::value : return true if T is a pointer to a POD type (char, int, long, etc.), otherwise return false


file  is_qt_hash.h
 

qx::trait::is_qt_hash<T>::value : return true if T is a QHash<> container of Qt library, otherwise return false


file  is_qt_list.h
 

qx::trait::is_qt_list<T>::value : return true if T is a QList<> container of Qt library, otherwise return false


file  is_qt_map.h
 

qx::trait::is_qt_map<T>::value : return true if T is a QMap<> container of Qt library, otherwise return false


file  is_qt_multi_hash.h
 

qx::trait::is_qt_multi_hash<T>::value : return true if T is a QMultiHash<> container of Qt library, otherwise return false


file  is_qt_multi_map.h
 

qx::trait::is_qt_multi_map<T>::value : return true if T is a QMultiMap<> container of Qt library, otherwise return false


file  is_qt_scoped_ptr.h
 

qx::trait::is_qt_scoped_ptr<T>::value : return true if T is a QScopedPointer<> smart-pointer of Qt library, otherwise return false


file  is_qt_set.h
 

qx::trait::is_qt_set<T>::value : return true if T is a QSet<> container of Qt library, otherwise return false


file  is_qt_shared_data_ptr.h
 

qx::trait::is_qt_shared_data_ptr<T>::value : return true if T is a QSharedDataPointer<> smart-pointer of Qt library, otherwise return false


file  is_qt_shared_ptr.h
 

qx::trait::is_qt_shared_ptr<T>::value : return true if T is a QSharedPointer<> smart-pointer of Qt library, otherwise return false


file  is_qt_variant_compatible.h
 

qx::trait::is_qt_variant_compatible<T>::value : return true if T can be host into a QVariant object of Qt library, otherwise return false


file  is_qt_vector.h
 

qx::trait::is_qt_vector<T>::value : return true if T is a QVector<> container of Qt library, otherwise return false


file  is_qt_weak_ptr.h
 

qx::trait::is_qt_weak_ptr<T>::value : return true if T is a QWeakPointer<> smart-pointer of Qt library, otherwise return false


file  is_qx_collection.h
 

qx::trait::is_qx_collection<T>::value : return true if T is a qx::QxCollection<> container of QxOrm library, otherwise return false


file  is_qx_dao_ptr.h
 

qx::trait::is_qx_dao_ptr<T>::value : return true if T is a qx::dao::ptr<> smart-pointer of QxOrm library, otherwise return false


file  is_qx_pod.h
 

qx::trait::is_qx_pod<T>::value : return true if T is a POD type and not a pointer


file  is_qx_registered.h
 

qx::trait::is_qx_registered<T>::value : return true if T is registered into QxOrm context to provide persitence (ORM), serialization and introspection features


file  is_smart_ptr.h
 

qx::trait::is_smart_ptr<T>::value : return true if T is a smart-pointer of boost, Qt or QxOrm libraries, otherwise return false


file  is_smart_ptr_base_of.h
 

qx::trait::is_smart_ptr_base_of<B, D>::value : return true if B and D are smart-pointers of boost, Qt or QxOrm libraries and if (*B) is a base class of (*D), otherwise return false


file  is_smart_ptr_to_pod.h
 

qx::trait::is_smart_ptr_to_pod<T>::value : return true if T is a smart-pointer of boost, Qt or QxOrm libraries and (*T) is a POD type (char, int, long, etc.), otherwise return false


file  is_std_list.h
 

qx::trait::is_std_list<T>::value : return true if T is a std::list<> container of stl library, otherwise return false


file  is_std_map.h
 

qx::trait::is_std_map<T>::value : return true if T is a std::map<> container of stl library, otherwise return false


file  is_std_set.h
 

qx::trait::is_std_set<T>::value : return true if T is a std::set<> container of stl library, otherwise return false


file  is_std_shared_ptr.h
 

qx::trait::is_std_shared_ptr<T>::value : return true if T is a std::shared_ptr<> smart-pointer, otherwise return false


file  is_std_unique_ptr.h
 

qx::trait::is_std_unique_ptr<T>::value : return true if T is a std::unique_ptr<> smart-pointer, otherwise return false


file  is_std_unordered_map.h
 

qx::trait::is_std_unordered_map<T>::value : return true if T is a std::unordered_map<> or std::unordered_multimap<> container, otherwise return false


file  is_std_unordered_set.h
 

qx::trait::is_std_unordered_set<T>::value : return true if T is a std::unordered_set<> or std::unordered_multiset<> container, otherwise return false


file  is_std_vector.h
 

qx::trait::is_std_vector<T>::value : return true if T is a std::vector<> container of stl library, otherwise return false


file  is_std_weak_ptr.h
 

qx::trait::is_std_weak_ptr<T>::value : return true if T is a std::weak_ptr<> smart-pointer, otherwise return false


file  is_valid_primary_key.h
 

qx::trait::is_valid_primary_key<T>(const T & t) : return true if t can be a valid primary key to be inserted into a database, otherwise return false


file  qt_meta_object.h
 

qx::trait::qt_meta_object<T>::get() : if T is based on QObject class, then return QMetaObject instance of Qt introspection engine, else return NULL


file  remove_attr.h
 

qx::trait::remove_attr<T>::type : return a type without pointer, const, reference and/or volatile attributes


file  remove_smart_ptr.h
 

qx::trait::remove_smart_ptr<T>::type : return a type without smart-pointer attribute from boost, Qt or QxOrm library