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