- 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::StructTypeInterfaceBouncer< T, TO > Class Template Referenceabstract

`#include <structtypeinterface.hxx>`

## Public Types
using | Methods = DefaultTypeImplMethods< T, TypeByPointerPOD< T >>

## Public Member Functions
StructTypeInterface * | bounceType ()
virtual void | adaptStorage (void **storage, void **adapted)=0
std::vector< TypeInterface * > | memberTypes () override
void * | get (void *storage, unsigned int index) override
| Get the field storage at index (not a copy) More...
std::vector< void * > | get (void *storage) override
| Get all the fields storages of the struct (not a copy) More...
void | set (void **storage, const std::vector< void * > &vals) override
| Set all the fields of the struct (copies the values given in the vector) More...
void | set (void **storage, unsigned int index, void *valStorage) override
| Set the fields of the struct at index (copies the value given) More...
std::vector< std::string > | elementsName () override
| Get the names of the fields of the struct. More...
virtual bool | convertFrom (std::map< std::string, qi::AnyValue > &fields, const std::vector< std::tuple< std::string, TypeInterface * >> &missing, const std::map< std::string, qi::AnyReference > &dropfields) override
virtual bool | convertTo (std::map< std::string, qi::AnyValue > &fields, const std::vector< std::tuple< std::string, TypeInterface * >> &missing, const std::map< std::string, qi::AnyReference > &dropfields) override
| _QI_BOUNCE_TYPE_METHODS (Methods)
Public Member Functions inherited from qi::StructTypeInterface
AnyReferenceVector | values (void *storage)
| Get all the fields of the structure. More...
TypeKind | kind () override
virtual std::string | className ()
| Get the type name of the struct. More...
virtual bool | convertFrom (std::map< std::string,::qi::AnyValue > &fields, const std::vector< std::tuple< std::string, TypeInterface * >> &missing, const std::map< std::string,::qi::AnyReference > &dropfields)
| Fill missing fields caused by conversion from a different struct. Return whether fill succeeded. More...
virtual bool | convertTo (std::map< std::string,::qi::AnyValue > &fields, const std::vector< std::tuple< std::string, TypeInterface * >> &missing, const std::map< std::string,::qi::AnyReference > &dropfields)
| Fill missing fields caused by conversion to a different struct. Return whether fill succeeded. More...
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, typename TO>
class qi::StructTypeInterfaceBouncer< T, TO >

Definition at line 497 of file structtypeinterface.hxx.

## Member Typedef Documentation

template<typename T , typename TO >

using qi::StructTypeInterfaceBouncer< T, TO >::Methods = DefaultTypeImplMethods<T, TypeByPointerPOD<T>>

Definition at line 510 of file structtypeinterface.hxx.

## Member Function Documentation

template<typename T , typename TO >

qi::StructTypeInterfaceBouncer< T, TO >::_QI_BOUNCE_TYPE_METHODS | ( | Methods |  | ) |

template<typename T , typename TO >

virtual void qi::StructTypeInterfaceBouncer< T, TO >::adaptStorage | ( | void ** | storage,
|  | void ** | adapted
| ) |  |
| pure virtual

template<typename T , typename TO >

StructTypeInterface* qi::StructTypeInterfaceBouncer< T, TO >::bounceType | ( |  | ) |
| inline

Definition at line 500 of file structtypeinterface.hxx.

template<typename T , typename TO >

virtual bool qi::StructTypeInterfaceBouncer< T, TO >::convertFrom | ( | std::map< std::string, qi::AnyValue > & | fields,
|  | const std::vector< std::tuple< std::string, TypeInterface * >> & | missing,
|  | const std::map< std::string, qi::AnyReference > & | dropfields
| ) |  |
| inline override virtual

Definition at line 549 of file structtypeinterface.hxx.

template<typename T , typename TO >

virtual bool qi::StructTypeInterfaceBouncer< T, TO >::convertTo | ( | std::map< std::string, qi::AnyValue > & | fields,
|  | const std::vector< std::tuple< std::string, TypeInterface * >> & | missing,
|  | const std::map< std::string, qi::AnyReference > & | dropfields
| ) |  |
| inline override virtual

Definition at line 556 of file structtypeinterface.hxx.

template<typename T , typename TO >

std::vector<std::string> qi::StructTypeInterfaceBouncer< T, TO >::elementsName | ( |  | ) |
| inline override virtual

Get the names of the fields of the struct.

Reimplemented from qi::StructTypeInterface.

Definition at line 544 of file structtypeinterface.hxx.

template<typename T , typename TO >

void* qi::StructTypeInterfaceBouncer< T, TO >::get | ( | void * | storage,
|  | unsigned int | index
| ) |  |
| inline override virtual

Get the field storage at index (not a copy)

Implements qi::StructTypeInterface.

Definition at line 516 of file structtypeinterface.hxx.

template<typename T , typename TO >

std::vector<void*> qi::StructTypeInterfaceBouncer< T, TO >::get | ( | void * | storage | ) |
| inline override virtual

Get all the fields storages of the struct (not a copy)

Reimplemented from qi::StructTypeInterface.

Definition at line 523 of file structtypeinterface.hxx.

template<typename T , typename TO >

std::vector<TypeInterface*> qi::StructTypeInterfaceBouncer< T, TO >::memberTypes | ( |  | ) |
| inline override virtual

Get all the member types

Note that this function does not recieve a storage argument. There must be one instance of StructTypeInterface per type of struct. If you need dynamic structs, look at makeTupleType().

Implements qi::StructTypeInterface.

Definition at line 511 of file structtypeinterface.hxx.

template<typename T , typename TO >

void qi::StructTypeInterfaceBouncer< T, TO >::set | ( | void ** | storage,
|  | const std::vector< void * > & |
| ) |  |
| inline override virtual

Set all the fields of the struct (copies the values given in the vector)

Reimplemented from qi::StructTypeInterface.

Definition at line 530 of file structtypeinterface.hxx.

template<typename T , typename TO >

void qi::StructTypeInterfaceBouncer< T, TO >::set | ( | void ** | storage,
|  | unsigned int | index,
|  | void * | valStorage
| ) |  |
| inline override virtual

Set the fields of the struct at index (copies the value given)

Implements qi::StructTypeInterface.

Definition at line 537 of file structtypeinterface.hxx.

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

- /home/opennao/work/release-2.8/sdk/libqi/qi/type/detail/structtypeinterface.hxx