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::TypeSharedPointerImpl< T > Class Template Reference

#include <pointertypeinterface.hxx>

Public Types

using Impl = DefaultTypeImplMethods< T, TypeByPointerPOD< 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 (Impl)
 
- 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::TypeSharedPointerImpl< T >

Definition at line 47 of file pointertypeinterface.hxx.

Member Typedef Documentation

template<typename T>
using qi::TypeSharedPointerImpl< T >::Impl = DefaultTypeImplMethods<T, TypeByPointerPOD<T>>

Definition at line 72 of file pointertypeinterface.hxx.

Member Function Documentation

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

Get the pointed element (must not be destroyed)

Implements qi::PointerTypeInterface.

Definition at line 55 of file pointertypeinterface.hxx.

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

Get the type of the pointed element.

Implements qi::PointerTypeInterface.

Definition at line 50 of file pointertypeinterface.hxx.

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

Return whether the pointer has raw or shared semantics.

Implements qi::PointerTypeInterface.

Definition at line 54 of file pointertypeinterface.hxx.

template<typename T>
void qi::TypeSharedPointerImpl< 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 61 of file pointertypeinterface.hxx.

template<typename T>
void qi::TypeSharedPointerImpl< 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 67 of file pointertypeinterface.hxx.


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