| QxOrm 1.2.5 C++ Object Relational Mapping library

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Directories

- File List
- File Members

Classes | Namespaces | Defines
get_base_class.h File Reference
QxTraits : QxOrm library traits (template metaprogramming) not available in 'boost::type_traits' library

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

`#include <boost/mpl/if.hpp>`
`#include <boost/mpl/logical.hpp>`
`#include <boost/type_traits/is_same.hpp>`
`#include <QxTraits/get_class_name.h>`

Go to the source code of this file.

## Classes
class | qx::trait::no_base_class_defined
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...
class | qx::trait::is_base_class_defined< T >
class | qx::trait::get_base_class_2< T >
## Namespaces
namespace | qx
| Root namespace for all QxOrm library features.
namespace | qx::trait
| QxOrm library traits (template metaprogramming) not available in boost::type_traits library.
## Defines
#define | QX_REGISTER_BASE_CLASS(derivedClass, baseClass)
#define | QX_GET_BASE_CLASS(T) qx::trait::get_base_class< T >::type
#define | QX_GET_BASE_CLASS_WITH_TYPENAME(T) qx::trait::get_base_class< typename T >::type
#define | QX_IS_BASE_CLASS_DEFINED(T) qx::trait::is_base_class_defined< T >::value
#define | QX_IS_BASE_CLASS_DEFINED_WITH_TYPENAME(T) qx::trait::is_base_class_defined< typename T >::value
#define | QX_GET_BASE_CLASS_2(T) qx::trait::get_base_class_2< T >::type
#define | QX_GET_BASE_CLASS_2_WITH_TYPENAME(T) qx::trait::get_base_class_2< typename T >::type

## Detailed Description

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

Author:
  Lionel Marty

Definition in file get_base_class.h.

## Define Documentation

#define QX_GET_BASE_CLASS | ( |  | T | ) | qx::trait::get_base_class< T >::type

Definition at line 90 of file get_base_class.h.

#define QX_GET_BASE_CLASS_2 | ( |  | T | ) | qx::trait::get_base_class_2< T >::type

Definition at line 94 of file get_base_class.h.

#define QX_GET_BASE_CLASS_2_WITH_TYPENAME | ( |  | T | ) | qx::trait::get_base_class_2< typename T >::type

Definition at line 95 of file get_base_class.h.

#define QX_GET_BASE_CLASS_WITH_TYPENAME | ( |  | T | ) | qx::trait::get_base_class< typename T >::type

Definition at line 91 of file get_base_class.h.

#define QX_IS_BASE_CLASS_DEFINED | ( |  | T | ) | qx::trait::is_base_class_defined< T >::value

Definition at line 92 of file get_base_class.h.

#define QX_IS_BASE_CLASS_DEFINED_WITH_TYPENAME | ( |  | T | ) | qx::trait::is_base_class_defined< typename T >::value

Definition at line 93 of file get_base_class.h.

#define QX_REGISTER_BASE_CLASS | ( |  | derivedClass,
|  |  | baseClass
| ) |  |

Value:

    namespace qx { namespace trait { \
    template <> \
    class get_base_class< derivedClass > \
    { public: typedef baseClass type; }; \
    } }

Definition at line 83 of file get_base_class.h.