Orocos Real-Time Toolkit
2.5.0
|
00001 #ifndef ORO_SEQUENCE_TYPE_INFO_HPP 00002 #define ORO_SEQUENCE_TYPE_INFO_HPP 00003 00004 #include "TemplateTypeInfo.hpp" 00005 #include "SequenceTypeInfoBase.hpp" 00006 00007 namespace RTT 00008 { 00009 namespace types 00010 { 00015 template<class T, bool has_ostream=false> 00016 class SequenceTypeInfo 00017 : public TemplateTypeInfo<T,has_ostream>, public SequenceTypeInfoBase<T> 00018 { 00019 public: 00020 SequenceTypeInfo(std::string name) 00021 : TemplateTypeInfo<T,has_ostream>(name), SequenceTypeInfoBase<T>(this) 00022 {} 00023 00024 using TemplateTypeInfo<T,has_ostream>::buildVariable; 00025 base::AttributeBase* buildVariable(std::string name,int size) const 00026 { 00027 return SequenceTypeInfoBase<T>::buildVariable(name,size); 00028 } 00029 00030 virtual bool composeType( base::DataSourceBase::shared_ptr dssource, base::DataSourceBase::shared_ptr dsresult) const 00031 { 00032 return SequenceTypeInfoBase<T>::composeType(dssource, dsresult); 00033 } 00034 00035 virtual bool resize(base::DataSourceBase::shared_ptr arg, int size) const 00036 { 00037 return SequenceTypeInfoBase<T>::resize(arg,size); 00038 } 00039 virtual base::DataSourceBase::shared_ptr decomposeType(base::DataSourceBase::shared_ptr source) const 00040 { 00041 return SequenceTypeInfoBase<T>::decomposeType(source); 00042 } 00043 virtual std::vector<std::string> getMemberNames() const { 00044 return SequenceTypeInfoBase<T>::getMemberNames(); 00045 } 00046 00047 virtual base::DataSourceBase::shared_ptr getMember(base::DataSourceBase::shared_ptr item, const std::string& name) const { 00048 return SequenceTypeInfoBase<T>::getMember(item,name); 00049 } 00050 00051 virtual base::DataSourceBase::shared_ptr getMember(base::DataSourceBase::shared_ptr item, 00052 base::DataSourceBase::shared_ptr id) const { 00053 return SequenceTypeInfoBase<T>::getMember(item, id); 00054 } 00055 }; 00056 } 00057 } 00058 00059 #endif