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::PointerTypeInterface Class Referenceabstract

#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 TypeInterfacepointedType ()=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
 
- 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

Definition at line 137 of file typeinterface.hpp.

Member Enumeration Documentation

Enumerator
Raw 
Shared 

Definition at line 140 of file typeinterface.hpp.

Member Function Documentation

virtual AnyReference qi::PointerTypeInterface::dereference ( void *  storage)
pure virtual
TypeKind qi::PointerTypeInterface::kind ( )
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.

virtual TypeInterface* qi::PointerTypeInterface::pointedType ( )
pure virtual
virtual PointerKind qi::PointerTypeInterface::pointerKind ( )
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 >.

virtual void qi::PointerTypeInterface::set ( void **  storage,
AnyReference  pointer 
)
pure virtual
virtual void qi::PointerTypeInterface::setPointee ( void **  storage,
void *  pointer 
)
pure virtual

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