Orocos Real-Time Toolkit  2.8.3
Public Types | Public Member Functions | Protected Attributes | List of all members
RTT::types::StdVectorTypeInfo Struct Reference

This class tells Orocos how to handle std::vector<double>. More...

#include <rtt/typekit/StdVectorTypeInfo.hpp>

Inheritance diagram for RTT::types::StdVectorTypeInfo:
RTT::types::SequenceTypeInfo< std::vector< double >, true > RTT::types::TemplateTypeInfo< std::vector< double >, has_ostream > RTT::types::SequenceTypeInfoBase< std::vector< double > > RTT::types::MemberFactory RTT::types::PrimitiveTypeInfo< std::vector< double >, use_ostream > RTT::types::TemplateConnFactory< std::vector< double > > RTT::types::TemplateCompositionFactory< std::vector< double > > RTT::types::TypeInfoGenerator RTT::types::TemplateValueFactory< std::vector< double > > RTT::types::StreamFactory RTT::types::CompositionFactory RTT::types::ValueFactory

Public Types

typedef std::vector< double > UserType
 The given T parameter is the type for reading DataSources. More...
 
typedef std::vector< double > DataType
 The given T parameter is the type of the DataSources. More...
 

Public Member Functions

 StdVectorTypeInfo (std::string name)
 
virtual bool composeType (base::DataSourceBase::shared_ptr dssource, base::DataSourceBase::shared_ptr dsresult) const
 Override default in order to take legacy formats into account. More...
 
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. More...
 
base::AttributeBasebuildVariable (std::string name, int size) const
 Build a modifyable instance of this type. More...
 
base::AttributeBasebuildVariable (std::string name) const
 Build a non modifyable instance of this type. More...
 
virtual bool resize (base::DataSourceBase::shared_ptr arg, int size) const
 Tries to resize a data source in case it's a resizable sequence. More...
 
virtual base::DataSourceBase::shared_ptr decomposeType (base::DataSourceBase::shared_ptr source) const
 A primitive type is decomposed into itself. More...
 
virtual bool decomposeType (base::DataSourceBase::shared_ptr source, PropertyBag &targetbag) const
 
virtual std::vector< std::string > getMemberNames () const
 Returns the list of struct member names of this type. More...
 
virtual base::DataSourceBase::shared_ptr getMember (base::DataSourceBase::shared_ptr item, const std::string &name) const
 Returns a member of a given data source struct identified by its name. More...
 
virtual base::DataSourceBase::shared_ptr getMember (base::DataSourceBase::shared_ptr item, base::DataSourceBase::shared_ptr id) const
 Returns a member of a given data source identified by a data source id. More...
 
virtual base::ChannelElementBase::shared_ptr buildRemoteChannelOutput (base::OutputPortInterface &output_port, types::TypeInfo const *type_info, base::InputPortInterface &input, const ConnPolicy &policy)
 
boost::shared_ptr< PrimitiveTypeInfo< std::vector< double >, use_ostream > > getSharedPtr ()
 
TypeInfogetTypeInfoObject () const
 Returns the TypeInfo object of this type, or null if none exists yet. More...
 
virtual const std::string & getTypeName () const
 Return the type name for which this generator generates type info features. More...
 
virtual std::ostream & write (std::ostream &os, base::DataSourceBase::shared_ptr in) const
 Output this datasource as a human readable string. More...
 
virtual std::istream & read (std::istream &os, base::DataSourceBase::shared_ptr out) const
 Read a new value for this datasource from a human readable string. More...
 
virtual bool isStreamable () const
 Returns true if this type is directly streamable using read()/write() or toString()/fromString(). More...
 
base::AttributeBasebuildConstant (std::string name, base::DataSourceBase::shared_ptr dsb) const
 Build a non modifyable instance of this type. More...
 
base::AttributeBasebuildAttribute (std::string name, base::DataSourceBase::shared_ptr in) const
 Build an Attribute of this type. More...
 
base::AttributeBasebuildAlias (std::string name, base::DataSourceBase::shared_ptr in) const
 build an alias with b as the value. More...
 
base::DataSourceBase::shared_ptr buildActionAlias (base::ActionInterface *action, base::DataSourceBase::shared_ptr in) const
 Returns a DataSource that first executes an action and returns the result of another data source. More...
 
virtual base::PropertyBasebuildProperty (const std::string &name, const std::string &desc, base::DataSourceBase::shared_ptr source=0) const
 Build a Property of this type. More...
 
virtual base::DataSourceBase::shared_ptr buildValue () const
 Build a internal::ValueDataSource of this type. More...
 
virtual base::DataSourceBase::shared_ptr buildReference (void *ptr) const
 Build a internal::ReferenceDataSource of this type, pointing to the given pointer. More...
 
base::InputPortInterfaceinputPort (std::string const &name) const
 
base::OutputPortInterfaceoutputPort (std::string const &name) const
 
base::ChannelElementBase::shared_ptr buildDataStorage (ConnPolicy const &policy) const
 
base::ChannelElementBase::shared_ptr buildChannelOutput (base::InputPortInterface &port) const
 
base::ChannelElementBase::shared_ptr buildChannelInput (base::OutputPortInterface &port) const
 
virtual bool composeTypeImpl (const PropertyBag &source, typename internal::AssignableDataSource< std::vector< double > >::reference_t result) const
 User, implement this function in case you want to control reading the XML data format. More...
 
virtual bool decomposeTypeImpl (typename internal::AssignableDataSource< std::vector< double > >::const_reference_t source, PropertyBag &targetbag) const
 User, implement this function in case you want to control writing the XML data format. More...
 
virtual base::DataSourceBase::shared_ptr convertType (base::DataSourceBase::shared_ptr source) const
 Specialize this function to return an alternate type which represents this one in a compatible way. More...
 
Inspecting data structures.

Used to write a complex type to an external representation, like XML.

virtual bool getMember (internal::Reference *ref, base::DataSourceBase::shared_ptr item, const std::string &name) const
 Stores a reference to a member of a struct identified by its name. More...
 
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. More...
 
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. More...
 
virtual bool fromString (const std::string &value, base::DataSourceBase::shared_ptr out) const
 Usability function which converts a string to data. More...
 

Protected Attributes

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

Detailed Description

This class tells Orocos how to handle std::vector<double>.

Definition at line 52 of file StdVectorTypeInfo.hpp.

Member Typedef Documentation

typedef std::vector< double > RTT::types::PrimitiveTypeInfo< std::vector< double > , use_ostream >::DataType
inherited

The given T parameter is the type of the DataSources.

Definition at line 44 of file PrimitiveTypeInfo.hpp.

typedef std::vector< double > RTT::types::TemplateTypeInfo< std::vector< double > , use_ostream >::UserType
inherited

The given T parameter is the type for reading DataSources.

Definition at line 83 of file TemplateTypeInfo.hpp.

Constructor & Destructor Documentation

RTT::types::StdVectorTypeInfo::StdVectorTypeInfo ( std::string  name)
inline

Definition at line 54 of file StdVectorTypeInfo.hpp.

Member Function Documentation

base::DataSourceBase::shared_ptr RTT::types::TemplateValueFactory< std::vector< double > >::buildActionAlias ( base::ActionInterface action,
base::DataSourceBase::shared_ptr  in 
) const
inlinevirtualinherited

Returns a DataSource that first executes an action and returns the result of another data source.

If source is an AssignableDataSource, an AssignableDataSource is returned of the same type, otherwise, a plain DataSource is returned.

Implements RTT::types::ValueFactory.

Definition at line 62 of file TemplateValueFactory.hpp.

base::AttributeBase* RTT::types::TemplateValueFactory< std::vector< double > >::buildAlias ( std::string  name,
base::DataSourceBase::shared_ptr  in 
) const
inlinevirtualinherited

build an alias with b as the value.

If b is of the wrong type, 0 will be returned..

Implements RTT::types::ValueFactory.

Definition at line 54 of file TemplateValueFactory.hpp.

base::AttributeBase* RTT::types::TemplateValueFactory< std::vector< double > >::buildAttribute ( std::string  name,
base::DataSourceBase::shared_ptr  in 
) const
inlinevirtualinherited

Build an Attribute of this type.

Implements RTT::types::ValueFactory.

Definition at line 40 of file TemplateValueFactory.hpp.

base::ChannelElementBase::shared_ptr RTT::types::TemplateConnFactory< std::vector< double > >::buildChannelInput ( base::OutputPortInterface port) const
inlineinherited

Definition at line 32 of file TemplateConnFactory.hpp.

base::ChannelElementBase::shared_ptr RTT::types::TemplateConnFactory< std::vector< double > >::buildChannelOutput ( base::InputPortInterface port) const
inlineinherited

Definition at line 26 of file TemplateConnFactory.hpp.

base::AttributeBase* RTT::types::TemplateValueFactory< std::vector< double > >::buildConstant ( std::string  name,
base::DataSourceBase::shared_ptr  dsb 
) const
inlinevirtualinherited

Build a non modifyable instance of this type.

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

Implements RTT::types::ValueFactory.

Definition at line 20 of file TemplateValueFactory.hpp.

AttributeBase * RTT::ValueFactory::buildConstant ( std::string  name,
base::DataSourceBase::shared_ptr  dsb,
int  sizehint 
) const
virtualinherited

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.

base::ChannelElementBase::shared_ptr RTT::types::TemplateConnFactory< std::vector< double > >::buildDataStorage ( ConnPolicy const &  policy) const
inlineinherited

Definition at line 22 of file TemplateConnFactory.hpp.

virtual base::PropertyBase* RTT::types::TemplateValueFactory< std::vector< double > >::buildProperty ( const std::string &  name,
const std::string &  desc,
base::DataSourceBase::shared_ptr  source = 0 
) const
inlinevirtualinherited

Build a Property of this type.

Implements RTT::types::ValueFactory.

Definition at line 74 of file TemplateValueFactory.hpp.

virtual base::DataSourceBase::shared_ptr RTT::types::TemplateValueFactory< std::vector< double > >::buildReference ( void *  ptr) const
inlinevirtualinherited

Build a internal::ReferenceDataSource of this type, pointing to the given pointer.

Implements RTT::types::ValueFactory.

Definition at line 90 of file TemplateValueFactory.hpp.

virtual base::ChannelElementBase::shared_ptr RTT::types::TemplateTypeInfo< std::vector< double > , use_ostream >::buildRemoteChannelOutput ( base::OutputPortInterface output_port,
types::TypeInfo const *  type_info,
base::InputPortInterface input,
const ConnPolicy policy 
)
inlinevirtualinherited

Definition at line 102 of file TemplateTypeInfo.hpp.

virtual base::DataSourceBase::shared_ptr RTT::types::TemplateValueFactory< std::vector< double > >::buildValue ( ) const
inlinevirtualinherited

Build a internal::ValueDataSource of this type.

Implements RTT::types::ValueFactory.

Definition at line 87 of file TemplateValueFactory.hpp.

base::AttributeBase* RTT::types::TemplateValueFactory< std::vector< double > >::buildVariable ( std::string  name) const
inlinevirtualinherited

Build a non modifyable instance of this type.

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

Implements RTT::types::ValueFactory.

Definition at line 33 of file TemplateValueFactory.hpp.

base::AttributeBase* RTT::types::SequenceTypeInfo< std::vector< double > , has_ostream >::buildVariable ( std::string  name,
int  size 
) const
inlinevirtualinherited

Build a modifyable instance of this type.

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

Reimplemented from RTT::types::ValueFactory.

Definition at line 39 of file SequenceTypeInfo.hpp.

virtual bool RTT::types::StdVectorTypeInfo::composeType ( base::DataSourceBase::shared_ptr  dssource,
base::DataSourceBase::shared_ptr  dsresult 
) const
inlinevirtual

Override default in order to take legacy formats into account.

Reimplemented from RTT::types::SequenceTypeInfo< std::vector< double >, true >.

Definition at line 60 of file StdVectorTypeInfo.hpp.

References RTT::extras::composeProperty(), RTT::internal::DataSource< T >::rvalue(), and RTT::internal::AssignableDataSource< T >::set().

virtual bool RTT::types::TemplateCompositionFactory< std::vector< double > >::composeTypeImpl ( const PropertyBag source,
typename internal::AssignableDataSource< std::vector< double > >::reference_t  result 
) const
inlinevirtualinherited

User, implement this function in case you want to control reading the XML data format.

Definition at line 61 of file TemplateCompositionFactory.hpp.

base::DataSourceBase::shared_ptr CompositionFactory::convertType ( base::DataSourceBase::shared_ptr  source) const
virtualinherited

Specialize this function to return an alternate type which represents this one in a compatible way.

For example, a short converts to an long or an enum to an int or a string.

Returns
null if this type is not convertible to anything else.
Deprecated:
by decomposeType. We want to rename convertType to decomposeType. This function is left here for transitional purposes.

Definition at line 6 of file CompositionFactory.cpp.

Referenced by RTT::types::CompositionFactory::decomposeType().

virtual base::DataSourceBase::shared_ptr RTT::types::SequenceTypeInfo< std::vector< double > , has_ostream >::decomposeType ( base::DataSourceBase::shared_ptr  source) const
inlinevirtualinherited

A primitive type is decomposed into itself.

Reimplemented from RTT::types::PrimitiveTypeInfo< std::vector< double >, use_ostream >.

Definition at line 53 of file SequenceTypeInfo.hpp.

virtual bool RTT::types::PrimitiveTypeInfo< std::vector< double > , use_ostream >::decomposeType ( base::DataSourceBase::shared_ptr  source,
PropertyBag targetbag 
) const
inlinevirtualinherited

Definition at line 123 of file PrimitiveTypeInfo.hpp.

virtual bool RTT::types::TemplateCompositionFactory< std::vector< double > >::decomposeTypeImpl ( typename internal::AssignableDataSource< std::vector< double > >::const_reference_t  source,
PropertyBag targetbag 
) const
inlinevirtualinherited

User, implement this function in case you want to control writing the XML data format.

Add the structural elements of source to targetbag.

Definition at line 69 of file TemplateCompositionFactory.hpp.

bool StreamFactory::fromString ( const std::string &  value,
base::DataSourceBase::shared_ptr  out 
) const
virtualinherited

Usability function which converts a string to data.

Definition at line 23 of file StreamFactory.cpp.

virtual base::DataSourceBase::shared_ptr RTT::types::SequenceTypeInfo< std::vector< double > , has_ostream >::getMember ( base::DataSourceBase::shared_ptr  item,
const std::string &  name 
) const
inlinevirtualinherited

Returns a member of a given data source struct identified by its name.

Parameters
itemThe item of which to return a reference to a member
nameThe name of a member within item. Is a name of a member in case of a struct or an index number in case of a sequence.
Returns
null if no such member exists, an assignable datasource referencing that member otherwise.

Reimplemented from RTT::types::MemberFactory.

Definition at line 61 of file SequenceTypeInfo.hpp.

virtual base::DataSourceBase::shared_ptr RTT::types::SequenceTypeInfo< std::vector< double > , has_ostream >::getMember ( base::DataSourceBase::shared_ptr  item,
base::DataSourceBase::shared_ptr  id 
) const
inlinevirtualinherited

Returns a member of a given data source identified by a data source id.

This will be an int (for indexing) or a string (for the member name).

Warning
Currently this only works for a SequenceTypeInfo-like object. We don't implement this for StructTypeInfo-like objects, since that would be a very expensive implementation (memory wise).
Parameters
itemThe item of which to return a member
idOr a string data source containing the name of a member if item is a struct, Or an unsigned int data source containing the index of an element if item is a sequence

Reimplemented from RTT::types::MemberFactory.

Definition at line 65 of file SequenceTypeInfo.hpp.

virtual bool RTT::types::MemberFactory::getMember ( internal::Reference ref,
base::DataSourceBase::shared_ptr  item,
const std::string &  name 
) const
virtualinherited

Stores a reference to a member of a struct identified by its name.

This method does not allocate memory when item is assignable..

Parameters
refThe reference object in which to store the reference.
itemThe item of which to return a reference to a member. It must be assignable, otherwise, a reference to a copy of item will be returned. This copy will allocate memory.
nameThe name of a member within item.
Returns
false if no such member exists, true if ref got filled in otherwise.

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

virtual std::vector<std::string> RTT::types::SequenceTypeInfo< std::vector< double > , has_ostream >::getMemberNames ( ) const
inlinevirtualinherited

Returns the list of struct member names of this type.

In case this type is not a struct, returns an empty list.

Reimplemented from RTT::types::MemberFactory.

Definition at line 57 of file SequenceTypeInfo.hpp.

boost::shared_ptr<PrimitiveTypeInfo<std::vector< double > , use_ostream> > RTT::types::PrimitiveTypeInfo< std::vector< double > , use_ostream >::getSharedPtr ( )
inlineinherited

Definition at line 62 of file PrimitiveTypeInfo.hpp.

TypeInfo* RTT::types::PrimitiveTypeInfo< std::vector< double > , use_ostream >::getTypeInfoObject ( ) const
inlinevirtualinherited

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 84 of file PrimitiveTypeInfo.hpp.

virtual const std::string& RTT::types::PrimitiveTypeInfo< std::vector< double > , use_ostream >::getTypeName ( ) const
inlinevirtualinherited

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 88 of file PrimitiveTypeInfo.hpp.

base::InputPortInterface* RTT::types::TemplateConnFactory< std::vector< double > >::inputPort ( std::string const &  name) const
inlineinherited

Definition at line 19 of file TemplateConnFactory.hpp.

bool RTT::types::SequenceTypeInfo< std::vector< double > , has_ostream >::installTypeInfoObject ( TypeInfo ti)
inlinevirtualinherited

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.

Reimplemented from RTT::types::PrimitiveTypeInfo< std::vector< double >, use_ostream >.

Definition at line 25 of file SequenceTypeInfo.hpp.

virtual bool RTT::types::PrimitiveTypeInfo< std::vector< double > , use_ostream >::isStreamable ( ) const
inlinevirtualinherited

Returns true if this type is directly streamable using read()/write() or toString()/fromString().

Implements RTT::types::StreamFactory.

Definition at line 107 of file PrimitiveTypeInfo.hpp.

base::OutputPortInterface* RTT::types::TemplateConnFactory< std::vector< double > >::outputPort ( std::string const &  name) const
inlineinherited

Definition at line 20 of file TemplateConnFactory.hpp.

virtual std::istream& RTT::types::PrimitiveTypeInfo< std::vector< double > , use_ostream >::read ( std::istream &  os,
base::DataSourceBase::shared_ptr  out 
) const
inlinevirtualinherited

Read a new value for this datasource from a human readable string.

The default does nothing.

Implements RTT::types::StreamFactory.

Definition at line 98 of file PrimitiveTypeInfo.hpp.

virtual bool RTT::types::SequenceTypeInfo< std::vector< double > , has_ostream >::resize ( base::DataSourceBase::shared_ptr  arg,
int  size 
) const
inlinevirtualinherited

Tries to resize a data source in case it's a resizable sequence.

Returns
true if the resizing could be done, false otherwise.

Reimplemented from RTT::types::MemberFactory.

Definition at line 49 of file SequenceTypeInfo.hpp.

string StreamFactory::toString ( base::DataSourceBase::shared_ptr  in) const
virtualinherited

Usability function which converts data to a string.

Definition at line 12 of file StreamFactory.cpp.

virtual std::ostream& RTT::types::PrimitiveTypeInfo< std::vector< double > , use_ostream >::write ( std::ostream &  os,
base::DataSourceBase::shared_ptr  in 
) const
inlinevirtualinherited

Output this datasource as a human readable string.

The default just writes the type name in parentheses to os.

Implements RTT::types::StreamFactory.

Definition at line 90 of file PrimitiveTypeInfo.hpp.

Member Data Documentation

boost::shared_ptr<PrimitiveTypeInfo<std::vector< double > , use_ostream> > RTT::types::PrimitiveTypeInfo< std::vector< double > , use_ostream >::mshared
protectedinherited

Definition at line 39 of file PrimitiveTypeInfo.hpp.

const std::string RTT::types::PrimitiveTypeInfo< std::vector< double > , use_ostream >::tname
protectedinherited

Definition at line 38 of file PrimitiveTypeInfo.hpp.


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