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

TypeInterface * pointedType () 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 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 Public Member Functions inherited from qi::TypeInterface
static TypeInterface * fromSignature (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: