Orocos Real-Time Toolkit  2.6.0
Public Types | Public Member Functions | Protected Attributes
RTT::types::StdPrimitiveTypeInfo< T > Struct Template Reference

Type information for standard C types or structs of which no introspection is required and NOT used on data ports. More...

#include <rtt/typekit/StdPrimitiveTypeInfo.hpp>

Inheritance diagram for RTT::types::StdPrimitiveTypeInfo< T >:
RTT::types::PrimitiveTypeInfo< T, true > RTT::types::TypeInfoGenerator

List of all members.

Public Types

typedef T DataType
 The given T parameter is the type of the DataSources.

Public Member Functions

 StdPrimitiveTypeInfo (const char *type)
virtual bool composeType (base::DataSourceBase::shared_ptr source, base::DataSourceBase::shared_ptr result) const
virtual
base::DataSourceBase::shared_ptr 
decomposeType (base::DataSourceBase::shared_ptr source) const
 A primitive type is decomposed into itself.
boost::shared_ptr
< PrimitiveTypeInfo< T,
use_ostream > > 
getSharedPtr ()
bool installTypeInfoObject (TypeInfo *ti)
 Installs the type info object in the global data source type info handler and adds any additional features to the type info object.
TypeInfogetTypeInfoObject () const
 Returns the TypeInfo object of this type, or null if none exists yet.
virtual const std::string & getTypeName () const
 Return the type name for which this generator generates type info features.
virtual std::ostream & write (std::ostream &os, base::DataSourceBase::shared_ptr in) const
virtual std::istream & read (std::istream &os, base::DataSourceBase::shared_ptr out) const
virtual bool isStreamable () const
virtual bool decomposeType (base::DataSourceBase::shared_ptr source, PropertyBag &targetbag) const
base::AttributeBasebuildConstant (std::string name, base::DataSourceBase::shared_ptr dsb) const
base::AttributeBasebuildVariable (std::string name) const
base::AttributeBasebuildAttribute (std::string name, base::DataSourceBase::shared_ptr in) const
base::AttributeBasebuildAlias (std::string name, base::DataSourceBase::shared_ptr in) const
base::DataSourceBase::shared_ptr buildActionAlias (base::ActionInterface *action, base::DataSourceBase::shared_ptr in) const
virtual base::PropertyBasebuildProperty (const std::string &name, const std::string &desc, base::DataSourceBase::shared_ptr source=0) const
virtual
base::DataSourceBase::shared_ptr 
buildValue () const
virtual
base::DataSourceBase::shared_ptr 
buildReference (void *ptr) const
Type building/factory functions

Used to create objects that hold data of a certain type.

virtual base::AttributeBasebuildConstant (std::string name, base::DataSourceBase::shared_ptr, int sizehint) const
 Build a non modifyable instance of this type.
virtual base::AttributeBasebuildVariable (std::string name, int sizehint) const
 Build a modifyable instance of this type.
Conversion to/from text

Used to convert data to human readable text and vice versa.

virtual std::string toString (base::DataSourceBase::shared_ptr in) const
 Usability function which converts data to a string.
virtual bool fromString (const std::string &value, base::DataSourceBase::shared_ptr out) const
 Usability function which converts a string to data.

Protected Attributes

const std::string tname
boost::shared_ptr
< PrimitiveTypeInfo< T,
use_ostream > > 
mshared

Detailed Description

template<class T>
struct RTT::types::StdPrimitiveTypeInfo< T >

Type information for standard C types or structs of which no introspection is required and NOT used on data ports.

No boost::serialization function is required to use this class.

See also:
StructTypeInfo

Definition at line 21 of file StdPrimitiveTypeInfo.hpp.


Member Function Documentation

AttributeBase * RTT::ValueFactory::buildConstant ( std::string  name,
base::DataSourceBase::shared_ptr  dsb,
int  sizehint 
) const [virtual, inherited]

Build a non modifyable instance of this type.

Parameters:
sizehintFor variable size instances, use it to hint the size of the instance.

Definition at line 14 of file ValueFactory.cpp.

AttributeBase * RTT::ValueFactory::buildVariable ( std::string  name,
int  sizehint 
) const [virtual, inherited]

Build a modifyable instance of this type.

Parameters:
sizehintFor variable size instances, use it to hint the size of the instance.

Reimplemented in RTT::types::CArrayTypeInfo< T, has_ostream >.

Definition at line 10 of file ValueFactory.cpp.

TypeInfo* RTT::types::PrimitiveTypeInfo< T, use_ostream >::getTypeInfoObject ( ) const [inline, virtual, inherited]

Returns the TypeInfo object of this type, or null if none exists yet.

Returns:
All generators should return here TypeInfoRepository::Instance()->getTypeInfo<T>();

Implements RTT::types::TypeInfoGenerator.

Definition at line 83 of file PrimitiveTypeInfo.hpp.

virtual const std::string& RTT::types::PrimitiveTypeInfo< T, use_ostream >::getTypeName ( ) const [inline, virtual, inherited]

Return the type name for which this generator generates type info features.

This name will be aliased by the TypeInfo object.

Implements RTT::types::TypeInfoGenerator.

Definition at line 87 of file PrimitiveTypeInfo.hpp.

bool RTT::types::PrimitiveTypeInfo< T, use_ostream >::installTypeInfoObject ( TypeInfo ti) [inline, virtual, inherited]

Installs the type info object in the global data source type info handler and adds any additional features to the type info object.

This method will be called by the TypeInfoRepository, in order to register this type's factories into the TypeInfo object.

Parameters:
tiA valid TypeInfo object into which new features may be installed
Returns:
true if this object may be deleted, false if not.
Postcondition:
When true is returned, this instance is still valid and the caller (TypeInfoRepository) will delete it. When false is returned, the validity is undefined and the instance will not be used anymore by the caller.

Implements RTT::types::TypeInfoGenerator.

Definition at line 68 of file PrimitiveTypeInfo.hpp.


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