Classes | Typedefs | Functions
RTT::types Namespace Reference

Classes

class  BinaryOp
class  BinaryOperator
struct  BoolTypeInfo
class  BoostArrayTypeInfo
class  carray
class  CArrayTypeInfo
class  CompositionFactory
struct  EmptySendHandle
class  EmptyTypeInfo
struct  EnumTypeInfo
class  GlobalsRepository
class  MatrixTypeInfo
class  MemberFactory
class  OperatorRepository
class  PrimitiveSequenceTypeInfo
class  PrimitiveTypeInfo
class  RealTimeTypekitPlugin
struct  RTStringTypeInfo
struct  sequence_constructor_datasource
struct  sequence_ctor
struct  sequence_ctor2
struct  sequence_varargs_ctor
struct  SequenceBuilder
class  SequenceTypeInfo
class  SequenceTypeInfoBase
struct  StdPrimitiveTypeInfo
struct  StdStringTypeInfo
struct  StdTypeInfo
struct  stdvector_ctor
struct  stdvector_ctor2
struct  stdvector_varargs_ctor
struct  StdVectorBuilder
struct  StdVectorTemplateTypeInfo
struct  StdVectorTypeInfo
class  StreamFactory
class  StructTypeInfo
class  TemplateCompositionFactory
class  TemplateConnFactory
struct  TemplateConstructor
class  TemplateTypeInfo
class  TemplateValueFactory
class  TransportPlugin
class  type_discovery
struct  TypeConstructor
class  TypeInfo
class  TypeInfoGenerator
struct  TypeInfoName
class  TypeInfoRepository
class  TypekitPlugin
class  TypekitRepository
class  TypeMarshaller
struct  TypeStreamSelector< T, false >
struct  TypeStreamSelector< T, true >
class  TypeTransporter
class  UnaryOp
class  UnaryOperator
class  ValueFactory

Typedefs

typedef boost::shared_ptr
< CompositionFactory
CompositionFactoryPtr
typedef boost::shared_ptr
< MemberFactory
MemberFactoryPtr
typedef boost::shared_ptr
< StreamFactory
StreamFactoryPtr
typedef boost::shared_ptr
< ValueFactory
ValueFactoryPtr

Functions

int _EatSpace (std::istream &is, int *countp)
bool composeProperty (const PropertyBag &bag, std::vector< double > &result)
bool RTT_API composePropertyBag (PropertyBag const &sourcebag, PropertyBag &target)
bool RTT_API decomposePropertyBag (PropertyBag const &sourcebag, PropertyBag &target)
bool Eat (std::istream &is, int delim)
bool EatEnd (std::istream &is, int delim)
template<class T >
int get_capacity (T const &cont)
template<class T >
int get_columns (T const &cont)
bool get_container_item (std::vector< bool > &cont, int index)
template<class T >
T::reference get_container_item (T &cont, int index_row, int index_column)
template<class T >
T::reference get_container_item (T &cont, int index)
template<class T >
T::value_type get_container_item_copy (const T &cont, int index)
bool get_container_item_copy (const std::vector< bool > &cont, int index)
template<class T >
int get_rows (T const &cont)
template<class T >
int get_size (T const &cont)
void loadOrocosTypes (TypeInfoRepository::shared_ptr ti)
void loadStdTypes (TypeInfoRepository::shared_ptr ti)
template<typename function >
BinaryOperator< function > * newBinaryOperator (const char *op, function f)
template<class Function >
TypeConstructornewConstructor (Function *foo, bool automatic=false)
template<class Object >
TypeConstructornewConstructor (Object obj, bool automatic=false)
template<typename function >
UnaryOperator< function > * newUnaryOperator (const char *op, function f)
std::ostream & operator<< (std::ostream &os, const std::vector< double > &v)
template<typename T >
std::ostream & operator<< (std::ostream &os, const std::vector< T > &vec)
std::istream & operator>> (std::istream &os, std::vector< double > &v)
template<typename T >
std::istream & operator>> (std::istream &is, std::vector< T > &vec)
RTT_API
OperatorRepository::shared_ptr 
operators ()
bool propertyDecomposition (base::PropertyBase *source, PropertyBag &targetbag, bool recurse)
bool typeDecomposition (base::DataSourceBase::shared_ptr dsb, PropertyBag &targetbag, bool recurse)
TypeInfoRepository::shared_ptr Types ()

Detailed Description

Classes for typekits for describing and handling user data types.


Typedef Documentation

Definition at line 64 of file CompositionFactory.hpp.

typedef boost::shared_ptr<MemberFactory> RTT::types::MemberFactoryPtr

Definition at line 73 of file MemberFactory.hpp.

typedef boost::shared_ptr<StreamFactory> RTT::types::StreamFactoryPtr

Definition at line 53 of file StreamFactory.hpp.

typedef boost::shared_ptr<ValueFactory> RTT::types::ValueFactoryPtr

Definition at line 78 of file ValueFactory.hpp.


Function Documentation

int RTT::types::_EatSpace ( std::istream &  is,
int *  countp 
)

Definition at line 47 of file TypeStream-io.cpp.

RTT_API bool RTT::types::composeProperty ( const PropertyBag &  bag,
std::vector< double > &  result 
)

A composeProperty method for composing a property of a vector<double> The dimension of the vector must be less than 100.

Definition at line 51 of file VectorComposition.cpp.

bool RTT::types::composePropertyBag ( PropertyBag const &  sourcebag,
PropertyBag target 
)

Uses the type composition to compose all typed properties from a property bag.

For each PropertyBag found with a type not equal to 'PropertyBag', it will first try to use the user's TypeInfo::composeType function and return that in target if it generates a Property. If composeType did not return anything (because it's not implemented), it will try to create an empty target, decompose it and then updated the decomposition with the sourcebag.

Parameters:
sourcebagContains a PropertyBag to be composed into a known type.
targetThe target type to compose the source bag into.
Returns:
true if all typed PropertyBags in sourcebag could be composed to a user type, false if one or more compositions failed.

Definition at line 10 of file PropertyComposition.cpp.

bool RTT::types::decomposePropertyBag ( PropertyBag const &  sourcebag,
PropertyBag target 
)

Inverse of RTT::types::composePropertyBag(). This function effectively replaces the property introspection mechanism for decomposition.

Parameters:
sourcebagThe bag from which to compose the type.
targetContains a C++ type to be composed into a hierarchy of properties.
Returns:
True on success, false otherwise.
See also:
RTT::types::propertyComposition

Definition at line 60 of file PropertyComposition.cpp.

bool RTT::types::Eat ( std::istream &  is,
int  delim 
)

Definition at line 64 of file TypeStream-io.cpp.

bool RTT::types::EatEnd ( std::istream &  is,
int  delim 
)

Definition at line 81 of file TypeStream-io.cpp.

template<class T >
int RTT::types::get_capacity ( T const &  cont)

Returns the capacity of an STL container which has the capacity() member function.

Parameters:
contA const ref to an STL container.
Returns:
its capacity.

Definition at line 60 of file SequenceTypeInfoBase.hpp.

template<class T >
int RTT::types::get_columns ( T const &  cont)

Returns the number of columns of a matrix container which has the columns() member function.

Parameters:
contA const ref to a matrix container.
Returns:
its number of columns.

Definition at line 69 of file MatrixTypeInfo.hpp.

bool RTT::types::get_container_item ( std::vector< bool > &  cont,
int  index 
)

Specialisation for vector<bool>, we don't return references to bits aka std::_Bit_reference. vector<bool> is an outlier and should not be used. Use vector<int> or vector<char> instead.

Parameters:
contIs a vector<bool>
indexThe item to read.
Returns:
A copy of the value at position index. not a reference !

Definition at line 45 of file SequenceTypeInfoBase.cpp.

template<class T >
T::reference RTT::types::get_container_item ( T &  cont,
int  index_row,
int  index_column 
)

Returns a reference to one item in a matrix container.

Parameters:
contThe container to access
index_rowThe row index of the item to reference
index_columnThe column index of the item to reference
Returns:
A reference to item index

Definition at line 82 of file MatrixTypeInfo.hpp.

template<class T >
T::reference RTT::types::get_container_item ( T &  cont,
int  index 
)

Returns a reference to one item in an STL container.

Note:
vector<bool> is not supported, since it's not an STL container.
Parameters:
contThe container to access
indexThe item to reference
Returns:
A reference to item index

Definition at line 84 of file SequenceTypeInfoBase.hpp.

template<class T >
T::value_type RTT::types::get_container_item_copy ( const T &  cont,
int  index 
)

Returns a copy to one item in an STL container.

Note:
vector<bool> is not supported, since it's not an STL container.
Parameters:
contThe container to access
indexThe item to extract from the sequence
Returns:
A copy of item index

Definition at line 99 of file SequenceTypeInfoBase.hpp.

bool RTT::types::get_container_item_copy ( const std::vector< bool > &  cont,
int  index 
)
template<class T >
int RTT::types::get_rows ( T const &  cont)

Returns the number of rows of a matrix container which has the rows() member function.

Parameters:
contA const ref to a matrix container.
Returns:
its number of rows.

Definition at line 58 of file MatrixTypeInfo.hpp.

template<class T >
int RTT::types::get_size ( T const &  cont)

Returns the size of an STL container which has the size() member function.

Parameters:
contA const ref to an STL container.
Returns:
its size.

Definition at line 71 of file SequenceTypeInfoBase.hpp.

void RTT::types::loadOrocosTypes ( TypeInfoRepository::shared_ptr  ti)

Definition at line 69 of file RealTimeTypekitTypes2.cpp.

void RTT::types::loadStdTypes ( TypeInfoRepository::shared_ptr  ti)

Definition at line 54 of file RealTimeTypekitStdTypes.cpp.

template<typename function >
BinaryOperator<function>* RTT::types::newBinaryOperator ( const char *  op,
function  f 
)

helper function to create a new BinaryOperator

Definition at line 138 of file OperatorTypes.hpp.

template<class Function >
TypeConstructor* RTT::types::newConstructor ( Function *  foo,
bool  automatic = false 
)

Create a new Constructor.

Parameters:
fooA pointer to the 'C' function which creates an object.
automaticSet to true to allow automatic conversion (without warning) to this type.
Returns:
a Constructor object suitable for the type system.

Definition at line 122 of file TemplateConstructor.hpp.

template<class Object >
TypeConstructor* RTT::types::newConstructor ( Object  obj,
bool  automatic = false 
)

Create a new Constructor.

Parameters:
objA function object which has operator().
automaticSet to true to allow automatic conversion (without warning) to this type.
Returns:
a Constructor object suitable for the type system.

Definition at line 135 of file TemplateConstructor.hpp.

template<typename function >
UnaryOperator<function>* RTT::types::newUnaryOperator ( const char *  op,
function  f 
)

helper function to create a new UnaryOperator

Definition at line 128 of file OperatorTypes.hpp.

RTT_API std::ostream & RTT::types::operator<< ( std::ostream &  os,
const std::vector< double > &  v 
)

Definition at line 46 of file TypeStream.cpp.

template<typename T >
std::ostream& RTT::types::operator<< ( std::ostream &  os,
const std::vector< T > &  vec 
)

Definition at line 60 of file VectorTemplateComposition.hpp.

RTT_API std::istream & RTT::types::operator>> ( std::istream &  os,
std::vector< double > &  v 
)

Definition at line 61 of file TypeStream.cpp.

template<typename T >
std::istream& RTT::types::operator>> ( std::istream &  is,
std::vector< T > &  vec 
)

Definition at line 73 of file VectorTemplateComposition.hpp.

This global function provides the short notation for OperatorRepository::Instance()

Definition at line 132 of file Operators.cpp.

bool RTT_API RTT::types::propertyDecomposition ( base::PropertyBase source,
PropertyBag targetbag,
bool  recurse = true 
)

Uses the type decomposition to decompose a property into a property bag that refers to all its parts.

It will first try to use the user's TypeInfo::decomposeType function and return that in targetbag if it generates a PropertyBag. If it generated something else than a PropertyBag, this function returns false. If decomposeType did not return anything, it will try the TypeInfo::getMember() approach to decompose source into the targetbag. If no members are returned, this function fails.

In case the source type info supports it, each modification of a part in the targetbag will modify source too. This is so for typekits using the boost::serialization functions in combination with TypeInfo::getMember(). In case the type decompositions were written manually using TypeInfo::decomposeType(), this relation can no longer be guaranteed, and a composition step using TypeInfo::composeType() of the same type must be tried to update source with the modifications in targetbag.

For the TypeInfo::getMember() method: This function can only work if every part of the source is known by the RTT type system. Only the parts of source that are assignable will be decomposed. The read-only parts will be silently omitted.

Parameters:
sourceContains a C++ type to be decomposed into a hierarchy of properties.
targetbagThe bag in which to place the result.
Returns:
True on success, false otherwise.

Definition at line 63 of file PropertyDecomposition.cpp.

bool RTT_API RTT::types::typeDecomposition ( base::DataSourceBase::shared_ptr  source,
PropertyBag targetbag,
bool  recurse = true 
)

Identical to RTT::types::propertyDecomposition(), but takes a DataSourceBase as source.

Parameters:
sourceContains a C++ type to be decomposed into a hierarchy of properties.
targetbagThe bag in which to place the result.
Returns:
True on success, false otherwise.
See also:
RTT::types::propertyDecomposition

Definition at line 73 of file PropertyDecomposition.cpp.

Obtain a pointer to the global type system. This is a short notation for TypeInfoRepository::Instance().

Definition at line 48 of file Types.cpp.



rtt
Author(s): RTT Developers
autogenerated on Thu Jan 2 2014 11:35:45