32#ifndef _QX_GET_BASE_CLASS_H_
33#define _QX_GET_BASE_CLASS_H_
70private:
enum {
is_base_ok = (std::is_same<type_base, qx::trait::no_base_class_defined>::value ? 0 : 1) };
71public:
typedef typename std::conditional<is_base_ok, type_base, T>::type
type;
79#define QX_REGISTER_BASE_CLASS(derivedClass, baseClass) \
80namespace qx { namespace trait { \
82class get_base_class< derivedClass > \
83{ public: typedef baseClass type; }; \
86#define QX_GET_BASE_CLASS(T) qx::trait::get_base_class< T >::type
87#define QX_GET_BASE_CLASS_WITH_TYPENAME(T) qx::trait::get_base_class< typename T >::type
88#define QX_IS_BASE_CLASS_DEFINED(T) qx::trait::is_base_class_defined< T >::value
89#define QX_IS_BASE_CLASS_DEFINED_WITH_TYPENAME(T) qx::trait::is_base_class_defined< typename T >::value
90#define QX_GET_BASE_CLASS_2(T) qx::trait::get_base_class_2< T >::type
91#define QX_GET_BASE_CLASS_2_WITH_TYPENAME(T) qx::trait::get_base_class_2< typename T >::type
std::conditional< is_base_ok, type_base, T >::type type
qx::trait::get_base_class< T >::type type_base
qx::trait::get_base_class<T>::type : retrieve base class of type T registered into QxOrm context and ...
qx::trait::no_base_class_defined type
virtual ~no_base_class_defined()
qx::trait::get_class_name<T>::get() : return class name of type T under const char * format,...
#define QX_REGISTER_CLASS_NAME(className)
Root namespace for all QxOrm library features.