libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
qi::PointerTypeInterfaceImpl< T > Class Template Reference

#include <pointertypeinterface.hxx>

Public Types

using TypeMethodsImpl = DefaultTypeImplMethods< T *, TypeByValue< T * >>
 
- Public Types inherited from qi::PointerTypeInterface
enum  PointerKind { Raw, Shared }
 

Public Member Functions

TypeInterfacepointedType () override
 Get the type of the pointed element. More...
 
PointerKind pointerKind () override
 Return whether the pointer has raw or shared semantics. More...
 
AnyReference dereference (void *storage) override
 Get the pointed element (must not be destroyed) More...
 
void set (void **storage, AnyReference pointer) override
 Set new pointee value. pointer must be a pointer to type pointedType() More...
 
void setPointee (void **storage, void *pointer) override
 Set new pointee value. pointer must be a pointer to type pointedType() More...
 
 _QI_BOUNCE_TYPE_METHODS (TypeMethodsImpl)
 
- Public Member Functions inherited from qi::PointerTypeInterface
TypeKind kind () override
 
- Public Member Functions inherited from qi::TypeInterface
virtual ~TypeInterface ()=default
 
virtual const TypeInfoinfo ()=0
 Get the TypeInfo corresponding to this type. More...
 
virtual void * initializeStorage (void *ptr=nullptr)=0
 
virtual void * ptrFromStorage (void **)=0
 
virtual void * clone (void *)=0
 Allocate a storage and copy the value given as an argument. More...
 
virtual void destroy (void *)=0
 Free all resources of a storage. More...
 
virtual bool less (void *a, void *b)=0
 
const char * infoString ()
 
qi::Signature signature (void *storage=nullptr, bool resolveDynamic=false)
 

Additional Inherited Members

- Static Public Member Functions inherited from qi::TypeInterface
static TypeInterfacefromSignature (const qi::Signature &sig)
 

Detailed Description

template<typename T>
class qi::PointerTypeInterfaceImpl< T >

Definition at line 14 of file pointertypeinterface.hxx.

Member Typedef Documentation

Definition at line 41 of file pointertypeinterface.hxx.

Member Function Documentation

template<typename T >
qi::PointerTypeInterfaceImpl< T >::_QI_BOUNCE_TYPE_METHODS ( TypeMethodsImpl  )
template<typename T >
AnyReference qi::PointerTypeInterfaceImpl< T >::dereference ( void *  storage)
inlineoverridevirtual

Get the pointed element (must not be destroyed)

Implements qi::PointerTypeInterface.

Definition at line 23 of file pointertypeinterface.hxx.

template<typename T >
TypeInterface* qi::PointerTypeInterfaceImpl< T >::pointedType ( )
inlineoverridevirtual

Get the type of the pointed element.

Implements qi::PointerTypeInterface.

Definition at line 17 of file pointertypeinterface.hxx.

template<typename T >
PointerKind qi::PointerTypeInterfaceImpl< T >::pointerKind ( )
inlineoverridevirtual

Return whether the pointer has raw or shared semantics.

Implements qi::PointerTypeInterface.

Definition at line 22 of file pointertypeinterface.hxx.

template<typename T >
void qi::PointerTypeInterfaceImpl< T >::set ( void **  storage,
AnyReference  pointer 
)
inlineoverridevirtual

Set new pointee value. pointer must be a pointer to type pointedType()

Implements qi::PointerTypeInterface.

Definition at line 30 of file pointertypeinterface.hxx.

template<typename T >
void qi::PointerTypeInterfaceImpl< T >::setPointee ( void **  storage,
void *  pointer 
)
inlineoverridevirtual

Set new pointee value. pointer must be a pointer to type pointedType()

Implements qi::PointerTypeInterface.

Definition at line 36 of file pointertypeinterface.hxx.


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