| QxOrm 1.4.5 C++ Object Relational Mapping library

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

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

Classes | Public Member Functions | Protected Types | Protected Member Functions
qx::QxSqlRelation< DataType, Owner > Class Template Reference
QxDao : QxOrm library database communication used by persistence engine (ORM - Object Relational Mapping)

qx::QxSqlRelation<DataType, Owner> : base class for all relationships defined between 2 classes (or between 2 tables in database) More...

`#include <QxSqlRelation.h>`

Inheritance diagram for qx::QxSqlRelation< DataType, Owner >:

List of all members.

## Classes
struct | createItem_Helper
struct | createItem_Helper< true, dummy >
struct | getContainer_Helper
struct | getContainer_Helper< false, true, dummy >
struct | getContainer_Helper< true, false, dummy >
struct | getContainer_Helper< true, true, dummy >
struct | getData_Helper
struct | getData_Helper< false, true, dummy >
struct | getData_Helper< true, false, dummy >
struct | getData_Helper< true, true, dummy >
struct | isNullData_Helper
struct | isNullData_Helper< true, dummy >
## Public Member Functions
| QxSqlRelation (IxDataMember *p)
virtual | ~QxSqlRelation ()
virtual void | init ()
## Protected Types
enum | { is_valid = (qx::trait::is_qx_registered<type_data>::value && qx::trait::is_qx_registered<type_owner>::value) }
enum | { is_data_pointer = (std::is_pointer<DataType>::value || qx::trait::is_smart_ptr<DataType>::value) }
enum | { is_data_container = qx::trait::is_container<type_container>::value }
enum | { is_same_data_owner = std::is_same<type_data, value }
typedef qx::trait::remove_attr < DataType >::type | type_tmp_1
typedef qx::trait::remove_smart_ptr < type_tmp_1 >::type | type_tmp_2
typedef type_tmp_2 | type_container
typedef qx::trait::generic_container < type_container > | type_generic_container
typedef type_generic_container::type_item | type_item
typedef std::conditional < qx::trait::is_container < type_container >::value, typename type_generic_container::type_value_qx, type_container >::type | type_tmp_3
typedef QxSqlRelation < DataType, Owner > ::type_tmp_3 | type_data
typedef Owner | type_owner
## Protected Member Functions
DataType * | getDataTypePtr (QxSqlRelationParams &params) const
type_owner & | getOwner (QxSqlRelationParams &params) const
type_data & | getData (QxSqlRelationParams &params) const
type_container & | getContainer (QxSqlRelationParams &params) const
type_item | createItem () const
bool | isNullData (QxSqlRelationParams &params) const
bool | callTriggerBeforeFetch (type_data &t, QxSqlRelationParams &params) const
bool | callTriggerAfterFetch (type_data &t, QxSqlRelationParams &params) const

## Detailed Description

### template<class DataType, class Owner>
class qx::QxSqlRelation< DataType, Owner >

qx::QxSqlRelation<DataType, Owner> : base class for all relationships defined between 2 classes (or between 2 tables in database)

Definition at line 69 of file QxSqlRelation.h.

## Member Typedef Documentation

template<class DataType, class Owner>

typedef type_tmp_2 qx::QxSqlRelation< DataType, Owner >::type_container`[protected]`

Reimplemented in qx::QxSqlRelation_ManyToMany< DataType, Owner >, and qx::QxSqlRelation_OneToMany< DataType, Owner >.

Definition at line 76 of file QxSqlRelation.h.

template<class DataType, class Owner>

typedef QxSqlRelation<DataType, Owner>::type_tmp_3 qx::QxSqlRelation< DataType, Owner >::type_data`[protected]`

Reimplemented in qx::QxSqlRelation_ManyToMany< DataType, Owner >, qx::QxSqlRelation_ManyToOne< DataType, Owner >, qx::QxSqlRelation_OneToMany< DataType, Owner >, and qx::QxSqlRelation_OneToOne< DataType, Owner >.

Definition at line 80 of file QxSqlRelation.h.

template<class DataType, class Owner>

typedef qx::trait::generic_container<type_container> qx::QxSqlRelation< DataType, Owner >::type_generic_container`[protected]`

Reimplemented in qx::QxSqlRelation_ManyToMany< DataType, Owner >, and qx::QxSqlRelation_OneToMany< DataType, Owner >.

Definition at line 77 of file QxSqlRelation.h.

template<class DataType, class Owner>

typedef type_generic_container::type_item qx::QxSqlRelation< DataType, Owner >::type_item`[protected]`

Reimplemented in qx::QxSqlRelation_ManyToMany< DataType, Owner >, and qx::QxSqlRelation_OneToMany< DataType, Owner >.

Definition at line 78 of file QxSqlRelation.h.

template<class DataType, class Owner>

typedef Owner qx::QxSqlRelation< DataType, Owner >::type_owner`[protected]`

Reimplemented in qx::QxSqlRelation_ManyToMany< DataType, Owner >, qx::QxSqlRelation_ManyToOne< DataType, Owner >, qx::QxSqlRelation_OneToMany< DataType, Owner >, and qx::QxSqlRelation_OneToOne< DataType, Owner >.

Definition at line 81 of file QxSqlRelation.h.

template<class DataType, class Owner>

typedef qx::trait::remove_attr<DataType>::type qx::QxSqlRelation< DataType, Owner >::type_tmp_1`[protected]`

Definition at line 74 of file QxSqlRelation.h.

template<class DataType, class Owner>

typedef qx::trait::remove_smart_ptr<type_tmp_1>::type qx::QxSqlRelation< DataType, Owner >::type_tmp_2`[protected]`

Definition at line 75 of file QxSqlRelation.h.

template<class DataType, class Owner>

typedef std::conditional<qx::trait::is_container<type_container>::value, typename type_generic_container::type_value_qx, type_container>::type qx::QxSqlRelation< DataType, Owner >::type_tmp_3`[protected]`

Definition at line 79 of file QxSqlRelation.h.

## Member Enumeration Documentation

template<class DataType, class Owner>

anonymous enum`[protected]`

Enumerator:

  is_data_container |

Definition at line 85 of file QxSqlRelation.h.

template<class DataType, class Owner>

anonymous enum`[protected]`

Enumerator:

  is_same_data_owner |
  value |

Definition at line 86 of file QxSqlRelation.h.

template<class DataType, class Owner>

anonymous enum`[protected]`

Enumerator:

  is_valid |

Definition at line 83 of file QxSqlRelation.h.

template<class DataType, class Owner>

anonymous enum`[protected]`

Enumerator:

  is_data_pointer |

Definition at line 84 of file QxSqlRelation.h.

## Constructor & Destructor Documentation

template<class DataType, class Owner>

qx::QxSqlRelation< DataType, Owner >::QxSqlRelation | ( | IxDataMember * | p | ) | `[inline]`

Definition at line 90 of file QxSqlRelation.h.

template<class DataType, class Owner>

virtual qx::QxSqlRelation< DataType, Owner >::~QxSqlRelation | ( |  | ) | `[inline, virtual]`

Definition at line 91 of file QxSqlRelation.h.

## Member Function Documentation

template<class DataType, class Owner>

bool qx::QxSqlRelation< DataType, Owner >::callTriggerAfterFetch | ( | type_data & | t,
|  | QxSqlRelationParams & | params
| ) |  | const`[inline, protected]`

Definition at line 127 of file QxSqlRelation.h.

template<class DataType, class Owner>

bool qx::QxSqlRelation< DataType, Owner >::callTriggerBeforeFetch | ( | type_data & | t,
|  | QxSqlRelationParams & | params
| ) |  | const`[inline, protected]`

Definition at line 120 of file QxSqlRelation.h.

template<class DataType, class Owner>

type_item qx::QxSqlRelation< DataType, Owner >::createItem | ( |  | ) | const`[inline, protected]`

Definition at line 114 of file QxSqlRelation.h.

template<class DataType, class Owner>

type_container& qx::QxSqlRelation< DataType, Owner >::getContainer | ( | QxSqlRelationParams & | params | ) | const`[inline, protected]`

Definition at line 111 of file QxSqlRelation.h.

template<class DataType, class Owner>

type_data& qx::QxSqlRelation< DataType, Owner >::getData | ( | QxSqlRelationParams & | params | ) | const`[inline, protected]`

Definition at line 108 of file QxSqlRelation.h.

template<class DataType, class Owner>

DataType* qx::QxSqlRelation< DataType, Owner >::getDataTypePtr | ( | QxSqlRelationParams & | params | ) | const`[inline, protected]`

Definition at line 102 of file QxSqlRelation.h.

template<class DataType, class Owner>

type_owner& qx::QxSqlRelation< DataType, Owner >::getOwner | ( | QxSqlRelationParams & | params | ) | const`[inline, protected]`

Definition at line 105 of file QxSqlRelation.h.

template<class DataType, class Owner>

virtual void qx::QxSqlRelation< DataType, Owner >::init | ( |  | ) | `[inline, virtual]`

Reimplemented from qx::IxSqlRelation.

Definition at line 93 of file QxSqlRelation.h.

template<class DataType, class Owner>

bool qx::QxSqlRelation< DataType, Owner >::isNullData | ( | QxSqlRelationParams & | params | ) | const`[inline, protected]`

Definition at line 117 of file QxSqlRelation.h.

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

- C:/Dvlp/_Perso/QxOrm/include/QxDao/QxSqlRelation.h