libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Functions
typeimpl.hxx File Reference
#include <set>
#include <qi/type/detail/hasless.hxx>

Go to the source code of this file.

Classes

struct  qi::detail::TypeTraitCreate< T, b >
 
struct  qi::detail::TypeTraitCreate< T, false >
 
struct  qi::detail::TypeTraitCopy< T, b >
 
struct  qi::detail::TypeTraitCopy< T, false >
 
struct  qi::detail::TypeTraitDestroy< T, b >
 
struct  qi::detail::TypeTraitDestroy< T, false >
 
struct  qi::detail::TypeManagerDefaultStruct< T >
 
struct  qi::detail::TypeManagerDefaultInterface< T >
 
struct  qi::detail::TypeManagerNull< T >
 
struct  qi::detail::TypeManagerNotConstructible< T >
 
struct  qi::detail::TypeManager< T >
 
struct  qi::detail::TypeManager< const T >
 
class  qi::TypeByPointer< T, Manager >
 Access API that stores a T* in storage. More...
 
class  qi::TypeByPointer< const T >
 
class  qi::TypeByPointerPOD< T >
 
class  qi::TypeByValue< T >
 Access api that stores a T in storage. More...
 
class  qi::TypeByValue< const T >
 
class  qi::DefaultTypeImplMethods< T, _Access >
 
class  qi::DefaultTypeImpl< T, _Access >
 
class  qi::TypeImpl< T >
 
class  qi::TypeImpl< void >
 
class  qi::TypeImpl< T & >
 
class  _qi_::qi::TypeImpl< T >
 

Namespaces

 qi
 Deprecated in 2.5. Use int8_t from <cstdint>.
 
 qi::detail
 
 _qi_
 
 _qi_::qi
 

Macros

#define _QITYPE_DETAIL_TYPEIMPL_HXX_
 
#define _QI_BOUNCE_TYPE_METHODS_NOCLONE(Bounce)
 Implement all methods of Type except clone/destroy as bouncers to Bouncer. More...
 
#define _QI_BOUNCE_TYPE_METHODS(Bounce)
 Implement all methods of Type as bouncers to Bouncer. More...
 
#define _QI_BOUNCE_TYPE_METHODS_NOINFO(Bounce)
 Implement all methods of Type except info() as bouncers to Bouncer. More...
 

Functions

void qi::detail::typeFail (const char *typeName, const char *operation)
 Report a type operation failure. More...
 

Macro Definition Documentation

#define _QI_BOUNCE_TYPE_METHODS (   Bounce)
Value:
void* clone(void* ptr) override { return Bounce::clone(ptr);} \
void destroy(void* ptr) override { Bounce::destroy(ptr);}
void destroy()
Stop and flush the logging system.
#define _QI_BOUNCE_TYPE_METHODS_NOCLONE(Bounce)
Implement all methods of Type except clone/destroy as bouncers to Bouncer.
Definition: typeimpl.hxx:266

Implement all methods of Type as bouncers to Bouncer.

Definition at line 273 of file typeimpl.hxx.

#define _QI_BOUNCE_TYPE_METHODS_NOCLONE (   Bounce)
Value:
const ::qi::TypeInfo& info() override { return Bounce::info();} \
void* initializeStorage(void* ptr=0) override { return Bounce::initializeStorage(ptr);} \
void* ptrFromStorage(void**s) override { return Bounce::ptrFromStorage(s);} \
bool less(void* a, void* b) override { return Bounce::less(a, b);}

Implement all methods of Type except clone/destroy as bouncers to Bouncer.

Definition at line 266 of file typeimpl.hxx.

#define _QI_BOUNCE_TYPE_METHODS_NOINFO (   Bounce)
Value:
void* initializeStorage(void* ptr=0) override { return Bounce::initializeStorage(ptr);} \
void* ptrFromStorage(void**s) override { return Bounce::ptrFromStorage(s);} \
void* clone(void* ptr) override { return Bounce::clone(ptr);} \
void destroy(void* ptr) override { Bounce::destroy(ptr);} \
bool less(void* a, void* b) override { return Bounce::less(a, b);}
void destroy()
Stop and flush the logging system.

Implement all methods of Type except info() as bouncers to Bouncer.

Definition at line 279 of file typeimpl.hxx.

#define _QITYPE_DETAIL_TYPEIMPL_HXX_

Definition at line 8 of file typeimpl.hxx.