QxOrm  1.4.5
C++ Object Relational Mapping library
qx Namespace Reference

Root namespace for all QxOrm library features. More...

Namespaces

namespace  cache
 

Provide basic thread-safe cache feature to backup and restore any kind of objects (for example, object fetched from database)


namespace  cvt
 

Provide global functions to convert any kind of objects to/from QString and QVariant format.


namespace  dao
 

Database communication used by persistence engine (ORM - Object Relational Mapping)


namespace  foreach
 

Foreach-style (based on BOOST_FOREACH macro) to iterate over all stl, boost and Qt containers + qx::QxCollection<Key, Value> QxOrm library container.


namespace  function
 

Register function into QxOrm context used by introspection engine.


namespace  memory
 

QxOrm library memory leak detection (by Wu Yongwei)


namespace  model_view
namespace  serialization
 

QxOrm library serialization engine based on boost::serialization library.


namespace  service
 

QxOrm library services engine to provide easy and powerful way to create C++ application server (to transfer data over network)


namespace  trait
 

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


namespace  validator

Classes

class  IxCollection
 qx::IxCollection : common interface for all QxOrm containers qx::QxCollection<Key, Value> More...
class  QxCollection
 qx::QxCollection<Key, Value> : QxOrm container (keep insertion order + quick access by index + quick access by key) More...
class  QxCollectionIterator
 qx::QxCollectionIterator : Java-style iterator to iterate over a qx::QxCollection<Key, Value> container More...
class  any
struct  bad_any_cast
struct  any_cast_dynamic
struct  any_cast_dynamic< T * >
struct  any_cast_dynamic< boost::shared_ptr< T > >
struct  any_cast_dynamic< QSharedPointer< T > >
struct  any_cast_dynamic< qx::dao::ptr< T > >
struct  any_cast_dynamic< std::shared_ptr< T > >
class  QxBool
 qx_bool : boolean type with code and description message when an error occured More...
class  exception
 qx::exception : exception with error code and error description More...
class  QxPropertyBag
 qx::QxPropertyBag : used by introspection engine (IxClass, IxDataMember, IxFunction, etc.) to add meta-data (property bag) More...
class  QxSimpleCrypt
 Simple encryption and decryption of strings and byte arrays. More...
class  IxPersistable
 qx::IxPersistable : common interface (abstract class) for persistents classes using QX_PERSISTABLE_HPP() and QX_PERSISTABLE_CPP() macros More...
class  IxPersistableCollection
 qx::IxPersistableCollection : common interface (abstract class) for collection persistent classes based on qx::IxPersistable and qx::IxCollection More...
class  QxPersistableCollection
 qx::QxPersistableCollection<Key, Value, T> : concrete class for collection persistent classes based on qx::IxPersistableCollection and qx::QxCollection<Key, Value> More...
class  QxPersistableCollectionHelper
 qx::QxPersistableCollectionHelper<T>::type : return the collection type used by qx::IxPersistable interface, qx::QxPersistableCollection<type_primary_key, std::shared_ptr<my_type>> More...
class  IxSqlQueryBuilder
 qx::IxSqlQueryBuilder : common interface to build SQL queries to communicate with database More...
class  IxSqlRelation
 qx::IxSqlRelation : common interface for all relationships defined between 2 classes (or between 2 tables in database) More...
class  QxDaoAsync
 qx::QxDaoAsync : helper class to execute SQL queries in another thread (asynchronous way) using qx::IxPersistable interface More...
class  QxDateNeutral
 qx::QxDateNeutral : helper class to store a date value into database under neutral format (YYYYMMDD) => cross database compatibility More...
class  QxDateTimeNeutral
 qx::QxDateTimeNeutral : helper class to store a date-time value into database under neutral format (YYYYMMDDHHMMSS) => cross database compatibility More...
class  IxRepository
 qx::IxRepository : common interface for all repositories to provide access to database by introspection using QObject class or qx::IxCollection class More...
class  QxRepository
 qx::QxRepository<T> : repository to provide a common interface to communicate with database More...
class  QxRepositoryX
 qx::QxRepositoryX : list of all repositories registered using qx::register_repository<T> function More...
class  QxSession
 qx::QxSession : define a session to manage automatically database transactions (using C++ RAII) More...
class  QxSoftDelete
 qx::QxSoftDelete : soft delete (or logical delete) behavior to update a row into database (flag it as deleted) instead of delete it from database More...
class  QxSqlDatabase
 qx::QxSqlDatabase : define all parameters to connect to database and retrieve a valid connection by thread (this class is a singleton and is thread-safe) More...
class  QxSqlQuery
 qx::QxSqlQuery : define a user SQL query added to default SQL query builded by QxOrm library, and used by qx::dao::xxx functions to filter elements fetched from database More...
class  QxSqlQueryBuilder
 qx::QxSqlQueryBuilder<T> : concrete SQL query builder for class T with a cache mechanism to backup and restore queries already built by the program More...
class  QxSqlQueryBuilder_Count
 qx::QxSqlQueryBuilder_Count<T> : concrete SQL query builder for class T to build a COUNT SQL query More...
class  QxSqlQueryBuilder_Exist
 qx::QxSqlQueryBuilder_Exist<T> : concrete SQL query builder for class T to build an EXIST SQL query More...
class  QxSqlQueryBuilder_FetchAll
 qx::QxSqlQueryBuilder_FetchAll<T> : concrete SQL query builder for class T to build a FETCH ALL SQL query More...
class  QxSqlQueryBuilder_FetchById
 qx::QxSqlQueryBuilder_FetchById<T> : concrete SQL query builder for class T to build a FETCH BY ID SQL query More...
class  QxSqlQueryBuilder_Insert
 qx::QxSqlQueryBuilder_Insert<T> : concrete SQL query builder for class T to build an INSERT SQL query More...
class  QxSqlQueryBuilder_Update
 qx::QxSqlQueryBuilder_Update<T> : concrete SQL query builder for class T to build an UPDATE SQL query More...
class  QxSqlQueryBuilder_DeleteAll
 qx::QxSqlQueryBuilder_DeleteAll<T> : concrete SQL query builder for class T to build a DELETE ALL SQL query More...
class  QxSqlQueryBuilder_SoftDeleteAll
 qx::QxSqlQueryBuilder_SoftDeleteAll<T> : concrete SQL query builder for class T to build a SOFT DELETE ALL SQL query More...
class  QxSqlQueryBuilder_DeleteById
 qx::QxSqlQueryBuilder_DeleteById<T> : concrete SQL query builder for class T to build a DELETE BY ID SQL query More...
class  QxSqlQueryBuilder_SoftDeleteById
 qx::QxSqlQueryBuilder_SoftDeleteById<T> : concrete SQL query builder for class T to build a SOFT DELETE BY ID SQL query More...
class  QxSqlQueryBuilder_CreateTable
 qx::QxSqlQueryBuilder_CreateTable<T> : concrete SQL query builder for class T to build a CREATE TABLE SQL query More...
class  QxSqlQueryBuilder_FetchAll_WithRelation
 qx::QxSqlQueryBuilder_FetchAll_WithRelation<T> : concrete SQL query builder for class T to build a FETCH ALL WITH RELATION SQL query More...
class  QxSqlQueryBuilder_FetchById_WithRelation
 qx::QxSqlQueryBuilder_FetchById_WithRelation<T> : concrete SQL query builder for class T to build a FETCH BY ID WITH RELATION SQL query More...
class  QxSqlRelation
 qx::QxSqlRelation<DataType, Owner> : base class for all relationships defined between 2 classes (or between 2 tables in database) More...
class  QxSqlRelation_ManyToMany
 qx::QxSqlRelation_ManyToMany<DataType, Owner> : manage a relationship many-to-many defined between 2 classes (or between 2 tables in database) More...
class  QxSqlRelation_ManyToOne
 qx::QxSqlRelation_ManyToOne<DataType, Owner> : manage a relationship many-to-one defined between 2 classes (or between 2 tables in database) More...
class  QxSqlRelation_OneToMany
 qx::QxSqlRelation_OneToMany<DataType, Owner> : manage a relationship one-to-many defined between 2 classes (or between 2 tables in database) More...
class  QxSqlRelation_OneToOne
 qx::QxSqlRelation_OneToOne<DataType, Owner> : manage a relationship one-to-one defined between 2 classes (or between 2 tables in database) More...
class  QxSqlRelationLinked
 qx::QxSqlRelationLinked : hierarchy of relationships to build SQL query More...
class  QxSqlRelationParams
 qx::QxSqlRelationParams : define list of parameters to transfer to relationships to manage SQL queries builded by QxOrm library More...
class  QxTimeNeutral
 qx::QxTimeNeutral : helper class to store a time value into database under neutral format (HHMMSS) => cross database compatibility More...
class  IxDataMember
 qx::IxDataMember : common interface for all class properties registered into QxOrm context More...
class  IxDataMemberX
 qx::IxDataMemberX : common interface for a list of IxDataMember class properties registered into QxOrm context (for example, list of data member of a class) More...
class  QxDataMember
 qx::QxDataMember<DataType, Owner> : concrete property of type DataType registered into QxOrm context for the class Owner More...
class  QxDataMember_QObject
 qx::QxDataMember_QObject : connect Qt introspection engine (based on QObject class, with QMetaObject type) to QxOrm library introspection engine More...
class  QxDataMemberX
 qx::QxDataMemberX<T> : concrete list of properties registered into QxOrm context for the class T More...
class  IxFactory
 qx::IxFactory : common interface for all classes that can be created dynamically using the class name More...
class  QxFactory
 qx::QxFactory<T> : concrete factory class to create object of type T dynamically using the class name More...
class  QxFactoryX
 qx::QxFactoryX : list of all classes registered with QxOrm library factory pattern to create object instance dynamically using the class name More...
class  IxFunction
 qx::IxFunction : common interface for all functions registered into QxOrm context (used by introspection engine) More...
class  QxFunction_0
 qx::QxFunction_0<Owner, R> : concrete function registered into QxOrm context defined into class Owner, returning an object of type R and without parameter More...
class  QxFunction_0< void, R >
class  QxFunction_1
 qx::QxFunction_1<Owner, R, P1> : concrete function registered into QxOrm context defined into class Owner, returning an object of type R and with 1 parameter P1 More...
class  QxFunction_1< void, R, P1 >
class  QxFunction_2
 qx::QxFunction_2<Owner, R, P1, P2> : concrete function registered into QxOrm context defined into class Owner, returning an object of type R and with 2 parameters P1, P2 More...
class  QxFunction_2< void, R, P1, P2 >
class  QxFunction_3
 qx::QxFunction_3<Owner, R, P1, P2, P3> : concrete function registered into QxOrm context defined into class Owner, returning an object of type R and with 3 parameters P1, P2, P3 More...
class  QxFunction_3< void, R, P1, P2, P3 >
class  QxFunction_4
 qx::QxFunction_4<Owner, R, P1, P2, P3, P4> : concrete function registered into QxOrm context defined into class Owner, returning an object of type R and with 4 parameters P1, P2, P3, P4 More...
class  QxFunction_4< void, R, P1, P2, P3, P4 >
class  QxFunction_5
 qx::QxFunction_5<Owner, R, P1, P2, P3, P4, P5> : concrete function registered into QxOrm context defined into class Owner, returning an object of type R and with 5 parameters P1, P2, P3, P4, P5 More...
class  QxFunction_5< void, R, P1, P2, P3, P4, P5 >
class  QxFunction_6
 qx::QxFunction_6<Owner, R, P1, P2, P3, P4, P5, P6> : concrete function registered into QxOrm context defined into class Owner, returning an object of type R and with 6 parameters P1, P2, P3, P4, P5, P6 More...
class  QxFunction_6< void, R, P1, P2, P3, P4, P5, P6 >
class  QxFunction_7
 qx::QxFunction_7<Owner, R, P1, P2, P3, P4, P5, P6, P7> : concrete function registered into QxOrm context defined into class Owner, returning an object of type R and with 7 parameters P1, P2, P3, P4, P5, P6, P7 More...
class  QxFunction_7< void, R, P1, P2, P3, P4, P5, P6, P7 >
class  QxFunction_8
 qx::QxFunction_8<Owner, R, P1, P2, P3, P4, P5, P6, P7, P8> : concrete function registered into QxOrm context defined into class Owner, returning an object of type R and with 8 parameters P1, P2, P3, P4, P5, P6, P7, P8 More...
class  QxFunction_8< void, R, P1, P2, P3, P4, P5, P6, P7, P8 >
class  QxFunction_9
 qx::QxFunction_9<Owner, R, P1, P2, P3, P4, P5, P6, P7, P8, P9> : concrete function registered into QxOrm context defined into class Owner, returning an object of type R and with 9 parameters P1, P2, P3, P4, P5, P6, P7, P8, P9 More...
class  QxFunction_9< void, R, P1, P2, P3, P4, P5, P6, P7, P8, P9 >
class  IxModel
 qx::IxModel : interface to manage Qt model/view architecture with classes registered into QxOrm context (Qt widgets and/or QML views) More...
class  QxModel
 qx::QxModel<T, B> : all classes registered into QxOrm context can be used with Qt model/view architecture (Qt widgets and/or QML views) More...
class  QxModelService
 qx::QxModelService<T, S> : provides an easy way to connect your model to the QxService module (all queries are executed over network using client/server communication) More...
class  IxClass
 qx::IxClass : common interface for all classes registered into QxOrm context More...
class  IxTypeInfo
class  QxClass
 qx::QxClass<T> : concrete class of type T registered into QxOrm context (this class is a singleton and is thread-safe) More...
class  QxClassName
 qx::QxClassName<T> : class helper to retrieve the class name of type T under const char * format More...
class  QxClassX
 qx::QxClassX : list of all classes registered into QxOrm context (this container is a singleton) More...
struct  QxSerializeRegistered_Helper
struct  QxSerializeRegistered
class  QxArchive_ToFile
 qx::QxArchive_ToFile : provide some tools to serialize a class registered into QxOrm context into/from binary/text/XML archives (file, string, etc.) More...
class  QxArchive_FromFile
 qx::QxArchive_FromFile : provide some tools to serialize a class registered into QxOrm context into/from binary/text/XML archives (file, string, etc.) More...
class  QxArchive_ToFileCompressed
 qx::QxArchive_ToFileCompressed : provide some tools to serialize a class registered into QxOrm context into/from binary/text/XML archives (file, string, etc.) More...
class  QxArchive_FromFileCompressed
 qx::QxArchive_FromFileCompressed : provide some tools to serialize a class registered into QxOrm context into/from binary/text/XML archives (file, string, etc.) More...
class  QxArchive_ToString
 qx::QxArchive_ToString : provide some tools to serialize a class registered into QxOrm context into/from binary/text/XML archives (file, string, etc.) More...
class  QxArchive_FromString
 qx::QxArchive_FromString : provide some tools to serialize a class registered into QxOrm context into/from binary/text/XML archives (file, string, etc.) More...
class  QxArchive_ToByteArray
 qx::QxArchive_ToByteArray : provide some tools to serialize a class registered into QxOrm context into/from binary/text/XML archives (file, string, etc.) More...
class  QxArchive_FromByteArray
 qx::QxArchive_FromByteArray : provide some tools to serialize a class registered into QxOrm context into/from binary/text/XML archives (file, string, etc.) More...
class  IxBoostSerializeRegisterHelper
class  QxBoostInitGuid
class  QxBoostSerializeHelper
class  QxBoostSerializeRegisterHelper
class  QxBoostSerializeRegisterHelperX
class  IxSingleton
 qx::IxSingleton : common interface for all singleton of QxOrm library More...
class  QxSingleton
 qx::QxSingleton<T> : concrete class to define a thread-safe singleton of type T More...
class  QxSingletonX
 qx::QxSingletonX : list of all singleton defined by QxOrm library (this container is also a singleton) More...
class  IxValidator
 qx::IxValidator : common interface for validator engine More...
class  IxValidatorX
 qx::IxValidatorX : common interface for a list of validators More...
class  QxInvalidValue
 qx::QxInvalidValue : invalid value when a property fails to pass a constraint More...
class  QxInvalidValueX
 qx::QxInvalidValueX : list of invalid values More...
class  QxValidator
 qx::QxValidator<Owner> : concrete class for a custom validator More...
class  QxValidator_WithDataType
 qx::QxValidator_WithDataType<DataType, Owner> : concrete class for a custom validator with data type More...
class  QxValidator_Recursive
 qx::QxValidator_Recursive<DataType, Owner> : concrete class for a recursive validator More...
class  validator_error
 qx::validator_error : define a validator error exception (for example, inserting or updating an element into database) and retrieve list of invalid values More...
class  QxValidatorX
 qx::QxValidatorX<T> : concrete class for a list of validators associated to a type registered into QxOrm context More...
class  QxXml
class  QxXmlReader
class  QxXmlWriter

Typedefs

typedef std::shared_ptr
< qx::IxCollection
IxCollection_ptr
typedef std::shared_ptr
< qx::IxPersistable
IxPersistable_ptr
typedef std::shared_ptr
< qx::IxPersistableCollection
IxPersistableCollection_ptr
typedef std::shared_ptr
< IxSqlQueryBuilder
IxSqlQueryBuilder_ptr
typedef QxCollection< QString,
IxSqlRelation * > 
IxSqlRelationX
typedef std::shared_ptr
< QxDaoAsync
QxDaoAsync_ptr
typedef std::shared_ptr
< QxSqlRelationLinked
QxSqlRelationLinked_ptr
typedef std::shared_ptr
< IxDataMember
IxDataMember_ptr
typedef std::shared_ptr
< IxDataMemberX
IxDataMemberX_ptr
typedef std::shared_ptr
< IxFunction
IxFunction_ptr
typedef QxCollection< QString,
IxFunction_ptr
IxFunctionX
typedef std::shared_ptr
< IxFunctionX
IxFunctionX_ptr
typedef std::shared_ptr< IxClassIxClass_ptr
typedef std::shared_ptr
< IxValidator
IxValidator_ptr
typedef std::shared_ptr
< IxValidatorX
IxValidatorX_ptr

Functions

template<typename ValueType >
ValueType * any_cast (any *)
template<typename ValueType >
ValueType * unsafe_any_cast (any *)
void swap (any &lhs, any &other)
template<typename ValueType >
const ValueType * any_cast (const any *operand)
template<typename ValueType >
ValueType any_cast (any &operand)
template<typename ValueType >
ValueType any_cast (const any &operand)
template<typename ValueType >
const ValueType * unsafe_any_cast (const any *operand)
template<class T >
void hash_combine (std::size_t &seed, const T &t)
template<class T >
QxInvalidValueX validate (T &t, const QString &group)
template<class T >
QSharedPointer< T > clone_to_qt_shared_ptr (const T &obj)
 qx::clone_to_qt_shared_ptr(const T & obj) : return a Qt smart-pointer (QSharedPointer<T>) of a new instance of type T cloned from obj
template<class T >
void register_repository (const QString &sKey)
qx::any create (const QString &sKey, bool bRawPointer)
 Return a smart-pointer new instance of object (std::shared_ptr<T>) associated by key sKey using qx::any type (for example : qx::create("drug") return a new instance of smart-pointer drug class into qx::any type)
template<typename T >
T * create_nude_ptr (const QString &sKey)
 Return a nude pointer (be careful with memory leak) of type T associated by key sKey, or return NULL if sKey is not registered into factory engine.
void * create_void_ptr (const QString &sKey)
 Return a void * pointer (be careful with memory leak) associated by key sKey, or return NULL if sKey is not registered into factory engine.
template<class T >
void register_class (T &t)
 qx::register_class<T>(T & t) : specialize this template to register a class of type T into QxOrm context
template<typename T >
void register_all_qt_properties (QxClass< T > &t, const QString &sPropertyId)
template<class T >
T * clone_to_nude_ptr (const T &obj)
 qx::clone_to_nude_ptr(const T & obj) : return a nude pointer (be careful with memory leak) of a new instance of type T cloned from obj
template<class T >
std::shared_ptr< T > clone (const T &obj)
 qx::clone(const T & obj) : return a boost smart-pointer (std::shared_ptr<T>) of a new instance of type T cloned from obj
template<class T >
boost::shared_ptr< T > clone_to_boost_shared_ptr (const T &obj)
 qx::clone_to_boost_shared_ptr(const T & obj) : return a boost smart-pointer (boost::shared_ptr<T>) of a new instance of type T cloned from obj
template<class T >
std::shared_ptr< T > clone_to_std_shared_ptr (const T &obj)
 qx::clone_to_std_shared_ptr(const T & obj) : return a C++11 std smart-pointer (std::shared_ptr<T>) of a new instance of type T cloned from obj
template<class T >
void dump (const T &t, bool bJsonFormat=false)
 qx::dump(const T & t, bool bJsonFormat) : dump class of type T registered into QxOrm context using XML and JSON serialization engine
template<class T >
QxInvalidValueX validate (T &t)
template<class T >
QxInvalidValueX validate (T &t, const QStringList &groups)

Detailed Description

Root namespace for all QxOrm library features.

Class for non-reentrant fast mutexes. This is the null implementation for single-threaded environments.


Typedef Documentation

typedef std::shared_ptr<IxClass> qx::IxClass_ptr

Definition at line 129 of file IxClass.h.

typedef std::shared_ptr<qx::IxCollection> qx::IxCollection_ptr

Definition at line 75 of file IxCollection.h.

typedef std::shared_ptr<IxDataMember> qx::IxDataMember_ptr

Definition at line 309 of file IxDataMember.h.

typedef std::shared_ptr<IxDataMemberX> qx::IxDataMemberX_ptr

Definition at line 105 of file IxDataMemberX.h.

typedef std::shared_ptr<IxFunction> qx::IxFunction_ptr

Definition at line 131 of file IxFunction.h.

Definition at line 132 of file IxFunction.h.

typedef std::shared_ptr<IxFunctionX> qx::IxFunctionX_ptr

Definition at line 133 of file IxFunction.h.

typedef std::shared_ptr<qx::IxPersistable> qx::IxPersistable_ptr

Definition at line 338 of file IxPersistable.h.

Definition at line 78 of file IxPersistableCollection.h.

typedef std::shared_ptr<IxSqlQueryBuilder> qx::IxSqlQueryBuilder_ptr

Definition at line 156 of file IxSqlQueryBuilder.h.

Definition at line 59 of file IxSqlRelation.h.

typedef std::shared_ptr<IxValidator> qx::IxValidator_ptr

Definition at line 120 of file IxValidator.h.

typedef std::shared_ptr<IxValidatorX> qx::IxValidatorX_ptr

Definition at line 112 of file IxValidatorX.h.

typedef std::shared_ptr<QxDaoAsync> qx::QxDaoAsync_ptr

Definition at line 219 of file QxDaoAsync.h.

Definition at line 134 of file QxSqlRelationLinked.h.


Function Documentation

template<typename ValueType >
ValueType * qx::any_cast ( any *  operand)

Definition at line 133 of file QxAny.h.

template<typename ValueType >
const ValueType* qx::any_cast ( const any *  operand)

Definition at line 137 of file QxAny.h.

template<typename ValueType >
ValueType qx::any_cast ( any &  operand)

Definition at line 141 of file QxAny.h.

template<typename ValueType >
ValueType qx::any_cast ( const any &  operand)

Definition at line 150 of file QxAny.h.

template<class T >
void qx::hash_combine ( std::size_t &  seed,
const T &  t 
) [inline]

Definition at line 72 of file QxHashValue.h.

template<typename T >
void qx::register_all_qt_properties ( QxClass< T > &  t,
const QString &  sPropertyId 
)

Definition at line 61 of file QxRegisterQtProperty.h.

template<class T >
void qx::register_repository ( const QString &  sKey) [inline]

Definition at line 430 of file QxRepository.h.

void qx::swap ( any &  lhs,
any &  other 
) [inline]

Definition at line 127 of file QxAny.h.

template<typename ValueType >
ValueType * qx::unsafe_any_cast ( any *  operand)

Definition at line 157 of file QxAny.h.

template<typename ValueType >
const ValueType* qx::unsafe_any_cast ( const any *  operand)

Definition at line 161 of file QxAny.h.

template<class T >
QxInvalidValueX qx::validate ( T &  t,
const QString &  group 
)

Definition at line 178 of file QxValidatorFct.h.

template<class T >
QxInvalidValueX qx::validate ( T &  t)

Definition at line 182 of file QxValidatorFct.h.

template<class T >
QxInvalidValueX qx::validate ( T &  t,
const QStringList &  groups 
)

Definition at line 186 of file QxValidatorFct.h.