libqi-api
2.8.7.4
|
#include <typeinterface.hpp>
Public Types | |
enum | PointerKind { Raw, Shared } |
Public Member Functions | |
virtual PointerKind | pointerKind ()=0 |
Return whether the pointer has raw or shared semantics. More... | |
virtual TypeInterface * | pointedType ()=0 |
Get the type of the pointed element. More... | |
virtual AnyReference | dereference (void *storage)=0 |
Get the pointed element (must not be destroyed) More... | |
virtual void | set (void **storage, AnyReference pointer)=0 |
Set new pointee value. pointer must be a pointer to type pointedType() More... | |
virtual void | setPointee (void **storage, void *pointer)=0 |
Set new pointee value. pointer must be a pointer to type pointedType() More... | |
TypeKind | kind () override |
![]() | |
virtual | ~TypeInterface ()=default |
virtual const TypeInfo & | info ()=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 TypeInterface * | fromSignature (const qi::Signature &sig) |
Definition at line 137 of file typeinterface.hpp.
Enumerator | |
---|---|
Raw | |
Shared |
Definition at line 140 of file typeinterface.hpp.
|
pure virtual |
Get the pointed element (must not be destroyed)
Implemented in qi::TypeSharedPointerImpl< T >, qi::TypeSharedPointerImpl< boost::shared_ptr< T > >, and qi::PointerTypeInterfaceImpl< T >.
|
inlineoverridevirtual |
Get the kind of the data.
This is used to downcast the TypeInterface object to a specialized interface.
Reimplemented from qi::TypeInterface.
Definition at line 155 of file typeinterface.hpp.
|
pure virtual |
Get the type of the pointed element.
Implemented in qi::TypeSharedPointerImpl< T >, qi::TypeSharedPointerImpl< boost::shared_ptr< T > >, and qi::PointerTypeInterfaceImpl< T >.
|
pure virtual |
Return whether the pointer has raw or shared semantics.
Implemented in qi::TypeSharedPointerImpl< T >, qi::TypeSharedPointerImpl< boost::shared_ptr< T > >, and qi::PointerTypeInterfaceImpl< T >.
|
pure virtual |
Set new pointee value. pointer must be a pointer to type pointedType()
Implemented in qi::TypeSharedPointerImpl< T >, qi::TypeSharedPointerImpl< boost::shared_ptr< T > >, and qi::PointerTypeInterfaceImpl< T >.
|
pure virtual |
Set new pointee value. pointer must be a pointer to type pointedType()
Implemented in qi::TypeSharedPointerImpl< T >, qi::TypeSharedPointerImpl< boost::shared_ptr< T > >, and qi::PointerTypeInterfaceImpl< T >.