- Aldebaran documentation |
- C++ Libraries |
- index

libqi-api 2.8.7.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Hierarchy
- Class Members

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 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
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

Definition at line 137 of file typeinterface.hpp.

## Member Enumeration Documentation

enum qi::PointerTypeInterface::PointerKind

Enumerator
Raw |
Shared |

Definition at line 140 of file typeinterface.hpp.

## Member Function Documentation

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

TypeKind qi::PointerTypeInterface::kind | ( |  | ) |
| inline override virtual

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

Get the type of the pointed element.

Implemented in qi::TypeSharedPointerImpl< T >, qi::TypeSharedPointerImpl< boost::shared_ptr< T > >, and qi::PointerTypeInterfaceImpl< T >.

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

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 >.

virtual void qi::PointerTypeInterface::setPointee | ( | void ** | storage,
|  | void * | pointer
| ) |  |
| 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 >.

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

- /home/opennao/work/release-2.8/sdk/libqi/qi/type/typeinterface.hpp