| QxOrm 1.2.5 C++ Object Relational Mapping library

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

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Private Types | Static Private Member Functions | Static Private Attributes
qx::trait::is_smart_ptr_base_of< B, D > Class Template Reference
QxTraits : QxOrm library traits (template metaprogramming) not available in 'boost::type_traits' library

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

`#include <is_smart_ptr_base_of.h>`

List of all members.

## Public Types
enum | { value = (qx::trait::is_smart_ptr_base_of<B, D>::value_2 || qx::trait::is_smart_ptr_base_of<B, D>::value_3) }
typedef boost::mpl::if_c < qx::trait::is_smart_ptr_base_of < B, D >::value, boost::mpl::true_, boost::mpl::false_ >::type | type
## Private Types
enum | { value_0 = (qx::trait::is_smart_ptr<D>::value) }
enum | { value_1 = (qx::trait::is_smart_ptr<B>::value) }
enum | { value_2 = ((value_0 && value_1) ? qx_smart_ptr_base_of_test_0() : 0) }
enum | { value_3 = ((value_0 && ! value_1) ? qx_smart_ptr_base_of_all_test() : 0) }
## Static Private Member Functions
template<typename V , typename W >
static boost::mpl::if_c < boost::is_base_of< V, W > ::value, char, int >::type | removeSmartPtr (const boost::scoped_ptr< V > &, const boost::scoped_ptr< W > &)
template<typename V , typename W >
static boost::mpl::if_c < boost::is_base_of< V, W > ::value, char, int >::type | removeSmartPtr (const boost::shared_ptr< V > &, const boost::shared_ptr< W > &)
template<typename V , typename W >
static boost::mpl::if_c < boost::is_base_of< V, W > ::value, char, int >::type | removeSmartPtr (const boost::weak_ptr< V > &, const boost::weak_ptr< W > &)
template<typename V , typename W >
static boost::mpl::if_c < boost::is_base_of< V, W > ::value, char, int >::type | removeSmartPtr (const boost::intrusive_ptr< V > &, const boost::intrusive_ptr< W > &)
template<typename V , typename W >
static boost::mpl::if_c < boost::is_base_of< V, W > ::value, char, int >::type | removeSmartPtr (const QSharedDataPointer< V > &, const QSharedDataPointer< W > &)
template<typename V , typename W >
static boost::mpl::if_c < boost::is_base_of< V, W > ::value, char, int >::type | removeSmartPtr (const QSharedPointer< V > &, const QSharedPointer< W > &)
template<typename V , typename W >
static boost::mpl::if_c < boost::is_base_of< V, W > ::value, char, int >::type | removeSmartPtr (const QWeakPointer< V > &, const QWeakPointer< W > &)
template<typename V , typename W >
static boost::mpl::if_c < boost::is_base_of< V, W > ::value, char, int >::type | removeSmartPtr (const qx::dao::ptr< V > &, const qx::dao::ptr< W > &)
static int | removeSmartPtr (...)
## Static Private Attributes
static B | b
static D | d
static boost::scoped_ptr< B > * | b_boost_scoped_ptr
static boost::shared_ptr< B > * | b_boost_shared_ptr
static boost::weak_ptr< B > * | b_boost_weak_ptr
static boost::intrusive_ptr< B > * | b_boost_intrusive_ptr
static QSharedDataPointer< B > * | b_qt_shared_data_ptr
static QSharedPointer< B > * | b_qt_shared_ptr
static QWeakPointer< B > * | b_qt_weak_ptr
static qx::dao::ptr< B > * | b_qx_dao_ptr

## Detailed Description

### template<typename B, typename D>
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

Definition at line 75 of file is_smart_ptr_base_of.h.

## Member Typedef Documentation

template<typename B , typename D >

typedef boost::mpl::if_c<qx::trait::is_smart_ptr_base_of<B, D>::value, boost::mpl::true_, boost::mpl::false_>::type qx::trait::is_smart_ptr_base_of< B, D >::type

Definition at line 126 of file is_smart_ptr_base_of.h.

## Member Enumeration Documentation

template<typename B , typename D >

anonymous enum`[private]`

Enumerator:

  value_0 |

Definition at line 117 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

anonymous enum`[private]`

Enumerator:

  value_1 |

Definition at line 118 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

anonymous enum`[private]`

Enumerator:

  value_2 |

Definition at line 119 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

anonymous enum`[private]`

Enumerator:

  value_3 |

Definition at line 120 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

anonymous enum

Enumerator:

  value |

Definition at line 124 of file is_smart_ptr_base_of.h.

## Member Function Documentation

template<typename B , typename D >
template<typename V , typename W >

static boost::mpl::if_c<boost::is_base_of<V, W>::value, char, int>::type qx::trait::is_smart_ptr_base_of< B, D >::removeSmartPtr | ( | const boost::scoped_ptr< V > & | ,
|  | const boost::scoped_ptr< W > & |
| ) |  | `[static, private]`

template<typename B , typename D >
template<typename V , typename W >

static boost::mpl::if_c<boost::is_base_of<V, W>::value, char, int>::type qx::trait::is_smart_ptr_base_of< B, D >::removeSmartPtr | ( | const boost::shared_ptr< V > & | ,
|  | const boost::shared_ptr< W > & |
| ) |  | `[static, private]`

template<typename B , typename D >
template<typename V , typename W >

static boost::mpl::if_c<boost::is_base_of<V, W>::value, char, int>::type qx::trait::is_smart_ptr_base_of< B, D >::removeSmartPtr | ( | const boost::weak_ptr< V > & | ,
|  | const boost::weak_ptr< W > & |
| ) |  | `[static, private]`

template<typename B , typename D >
template<typename V , typename W >

static boost::mpl::if_c<boost::is_base_of<V, W>::value, char, int>::type qx::trait::is_smart_ptr_base_of< B, D >::removeSmartPtr | ( | const boost::intrusive_ptr< V > & | ,
|  | const boost::intrusive_ptr< W > & |
| ) |  | `[static, private]`

template<typename B , typename D >
template<typename V , typename W >

static boost::mpl::if_c<boost::is_base_of<V, W>::value, char, int>::type qx::trait::is_smart_ptr_base_of< B, D >::removeSmartPtr | ( | const QSharedDataPointer< V > & | ,
|  | const QSharedDataPointer< W > & |
| ) |  | `[static, private]`

template<typename B , typename D >
template<typename V , typename W >

static boost::mpl::if_c<boost::is_base_of<V, W>::value, char, int>::type qx::trait::is_smart_ptr_base_of< B, D >::removeSmartPtr | ( | const QSharedPointer< V > & | ,
|  | const QSharedPointer< W > & |
| ) |  | `[static, private]`

template<typename B , typename D >
template<typename V , typename W >

static boost::mpl::if_c<boost::is_base_of<V, W>::value, char, int>::type qx::trait::is_smart_ptr_base_of< B, D >::removeSmartPtr | ( | const QWeakPointer< V > & | ,
|  | const QWeakPointer< W > & |
| ) |  | `[static, private]`

template<typename B , typename D >
template<typename V , typename W >

static boost::mpl::if_c<boost::is_base_of<V, W>::value, char, int>::type qx::trait::is_smart_ptr_base_of< B, D >::removeSmartPtr | ( | const qx::dao::ptr< V > & | ,
|  | const qx::dao::ptr< W > & |
| ) |  | `[static, private]`

template<typename B , typename D >

static int qx::trait::is_smart_ptr_base_of< B, D >::removeSmartPtr | ( |  | ... | ) | `[static, private]`

## Member Data Documentation

template<typename B , typename D >

B qx::trait::is_smart_ptr_base_of< B, D >::b`[static, private]`

Definition at line 105 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

boost::intrusive_ptr<B>* qx::trait::is_smart_ptr_base_of< B, D >::b_boost_intrusive_ptr`[static, private]`

Definition at line 111 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

boost::scoped_ptr<B>* qx::trait::is_smart_ptr_base_of< B, D >::b_boost_scoped_ptr`[static, private]`

Definition at line 108 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

boost::shared_ptr<B>* qx::trait::is_smart_ptr_base_of< B, D >::b_boost_shared_ptr`[static, private]`

Definition at line 109 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

boost::weak_ptr<B>* qx::trait::is_smart_ptr_base_of< B, D >::b_boost_weak_ptr`[static, private]`

Definition at line 110 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

QSharedDataPointer<B>* qx::trait::is_smart_ptr_base_of< B, D >::b_qt_shared_data_ptr`[static, private]`

Definition at line 112 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

QSharedPointer<B>* qx::trait::is_smart_ptr_base_of< B, D >::b_qt_shared_ptr`[static, private]`

Definition at line 113 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

QWeakPointer<B>* qx::trait::is_smart_ptr_base_of< B, D >::b_qt_weak_ptr`[static, private]`

Definition at line 114 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

qx::dao::ptr<B>* qx::trait::is_smart_ptr_base_of< B, D >::b_qx_dao_ptr`[static, private]`

Definition at line 115 of file is_smart_ptr_base_of.h.

template<typename B , typename D >

D qx::trait::is_smart_ptr_base_of< B, D >::d`[static, private]`

Definition at line 106 of file is_smart_ptr_base_of.h.

The documentation for this class was generated from the following file:

- D:/Dvlp/_Perso/QxOrm/include/QxTraits/is_smart_ptr_base_of.h