Public Types | Public Member Functions | List of all members
RTT::types::TemplateTypeInfo< T, use_ostream > Class Template Reference

#include <rtt-types-fwd.hpp>

Inheritance diagram for RTT::types::TemplateTypeInfo< T, use_ostream >:
Inheritance graph
[legend]

Public Types

typedef T UserType
 
- Public Types inherited from RTT::types::PrimitiveTypeInfo< T, use_ostream >
typedef T DataType
 
- Public Types inherited from RTT::types::TemplateValueFactory< T >
typedef T DataType
 
- Public Types inherited from RTT::types::TemplateCompositionFactory< T >
typedef T UserType
 

Public Member Functions

virtual base::ChannelElementBase::shared_ptr buildRemoteChannelOutput (base::OutputPortInterface &output_port, types::TypeInfo const *type_info, base::InputPortInterface &input, const ConnPolicy &policy)
 
bool installTypeInfoObject (TypeInfo *ti)
 
 TemplateTypeInfo (std::string name)
 
virtual ~TemplateTypeInfo ()
 
- Public Member Functions inherited from RTT::types::PrimitiveTypeInfo< T, use_ostream >
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
 
virtual bool decomposeType (base::DataSourceBase::shared_ptr source, PropertyBag &targetbag) const
 
boost::shared_ptr< PrimitiveTypeInfo< T, use_ostream > > getSharedPtr ()
 
TypeInfogetTypeInfoObject () const
 
virtual const std::string & getTypeName () const
 
virtual bool isStreamable () const
 
 PrimitiveTypeInfo (std::string name)
 
virtual std::istream & read (std::istream &os, base::DataSourceBase::shared_ptr out) const
 
virtual std::ostream & write (std::ostream &os, base::DataSourceBase::shared_ptr in) const
 
virtual ~PrimitiveTypeInfo ()
 
- Public Member Functions inherited from RTT::types::TypeInfoGenerator
virtual ~TypeInfoGenerator ()
 
- Public Member Functions inherited from RTT::types::TemplateValueFactory< T >
base::DataSourceBase::shared_ptr buildActionAlias (base::ActionInterface *action, base::DataSourceBase::shared_ptr in) const
 
base::AttributeBasebuildAlias (std::string name, base::DataSourceBase::shared_ptr in) const
 
base::AttributeBasebuildAttribute (std::string name, base::DataSourceBase::shared_ptr in) const
 
base::AttributeBasebuildConstant (std::string name, base::DataSourceBase::shared_ptr dsb) const
 
virtual base::PropertyBasebuildProperty (const std::string &name, const std::string &desc, base::DataSourceBase::shared_ptr source=0) const
 
virtual base::DataSourceBase::shared_ptr buildReference (void *ptr) const
 
virtual base::DataSourceBase::shared_ptr buildValue () const
 
base::AttributeBasebuildVariable (std::string name) const
 
- Public Member Functions inherited from RTT::types::ValueFactory
virtual ~ValueFactory ()
 
virtual base::AttributeBasebuildConstant (std::string name, base::DataSourceBase::shared_ptr, int sizehint) const
 
virtual base::AttributeBasebuildVariable (std::string name, int sizehint) const
 
- Public Member Functions inherited from RTT::types::StreamFactory
virtual ~StreamFactory ()
 
virtual std::string toString (base::DataSourceBase::shared_ptr in) const
 
virtual bool fromString (const std::string &value, base::DataSourceBase::shared_ptr out) const
 
- Public Member Functions inherited from RTT::types::TemplateConnFactory< T >
base::ChannelElementBase::shared_ptr buildChannelInput (base::OutputPortInterface &port, ConnPolicy const &policy) const
 
base::ChannelElementBase::shared_ptr buildChannelOutput (base::InputPortInterface &port, ConnPolicy const &policy) const
 
base::ChannelElementBase::shared_ptr buildDataStorage (ConnPolicy const &policy) const
 
internal::SharedConnectionBase::shared_ptr buildSharedConnection (base::OutputPortInterface *output_port, base::InputPortInterface *input_port, ConnPolicy const &policy) const
 
base::InputPortInterfaceinputPort (std::string const &name) const
 
base::OutputPortInterfaceoutputPort (std::string const &name) const
 
- Public Member Functions inherited from RTT::types::TemplateCompositionFactory< T >
virtual bool composeType (base::DataSourceBase::shared_ptr source, base::DataSourceBase::shared_ptr result) const
 
virtual bool composeTypeImpl (const PropertyBag &source, typename internal::AssignableDataSource< T >::reference_t result) const
 
virtual base::DataSourceBase::shared_ptr decomposeType (base::DataSourceBase::shared_ptr source) const
 
virtual bool decomposeTypeImpl (typename internal::AssignableDataSource< T >::const_reference_t source, PropertyBag &targetbag) const
 
- Public Member Functions inherited from RTT::types::CompositionFactory
virtual base::DataSourceBase::shared_ptr convertType (base::DataSourceBase::shared_ptr source) const
 
virtual ~CompositionFactory ()
 

Additional Inherited Members

- Protected Attributes inherited from RTT::types::PrimitiveTypeInfo< T, use_ostream >
boost::shared_ptr< PrimitiveTypeInfo< T, use_ostream > > mshared
 
const std::string tname
 

Detailed Description

template<typename T, bool use_ostream = false>
class RTT::types::TemplateTypeInfo< T, use_ostream >

This template class allows user types to be used in all Orocos primitives. It provides 'default' implementations for virtual functions of TypeInfo. For user defined types, this is very likely not satisfactory and the user needs to override the methods of this class in a subclass or provide specialised global functions.

Parameters
TThe user class type.
use_ostreamWhen set to true, the class will use operator<<(std::ostream&, T) to write out the type to a stream. When set to false, the class will use this function and write '( type name )' to a stream instead. Defaults to false. Set to true if your class T has the above mentioned function.
See also
TypeInfoRepository.
operator<<
StructTypeInfo, SequenceTypeInfo

Definition at line 73 of file rtt-types-fwd.hpp.

Member Typedef Documentation

template<typename T, bool use_ostream = false>
typedef T RTT::types::TemplateTypeInfo< T, use_ostream >::UserType

The given T parameter is the type for reading DataSources.

Definition at line 83 of file TemplateTypeInfo.hpp.

Constructor & Destructor Documentation

template<typename T, bool use_ostream = false>
RTT::types::TemplateTypeInfo< T, use_ostream >::TemplateTypeInfo ( std::string  name)
inline

Setup Type Information for type name. This causes a switch from 'unknown' type to basic type information for type T.

Parameters
namethe 'Orocos' type name.

Definition at line 92 of file TemplateTypeInfo.hpp.

template<typename T, bool use_ostream = false>
virtual RTT::types::TemplateTypeInfo< T, use_ostream >::~TemplateTypeInfo ( )
inlinevirtual

Definition at line 97 of file TemplateTypeInfo.hpp.

Member Function Documentation

template<typename T, bool use_ostream = false>
virtual base::ChannelElementBase::shared_ptr RTT::types::TemplateTypeInfo< T, use_ostream >::buildRemoteChannelOutput ( base::OutputPortInterface output_port,
types::TypeInfo const *  type_info,
base::InputPortInterface input,
const ConnPolicy policy 
)
inlinevirtual

Definition at line 102 of file TemplateTypeInfo.hpp.

template<typename T, bool use_ostream = false>
bool RTT::types::TemplateTypeInfo< T, use_ostream >::installTypeInfoObject ( TypeInfo ti)
inlinevirtual

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< T, use_ostream >.

Definition at line 109 of file TemplateTypeInfo.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Tue Jun 25 2019 19:33:47