Data type implementation. More...
#include <DataType.h>
Public Member Functions | |
virtual Serializer | createSerializer (const DataType &type) const =0 |
Create a serializer for this data type (abstract declaration) | |
virtual Variant | createVariant (const DataType &type) const =0 |
Create a variant from this data type (abstract declaration) | |
virtual const std::string & | getIdentifier () const =0 |
Retrieve the identifier representing this data type (abstract declaration) | |
virtual size_t | getSize () const =0 |
Retrieve the size of the instances of this data type (abstract declaration) | |
virtual const std::type_info & | getTypeInfo () const |
Retrieve the type information associated with this data type. | |
Impl () | |
Constructor. | |
virtual bool | isFixedSize () const =0 |
True, if this data type represents a fixed-size data type (abstract declaration) | |
virtual bool | isSimple () const =0 |
True, if this data type represents a simple data type (abstract declaration) | |
virtual | ~Impl () |
Destructor. |
Data type implementation.
Definition at line 168 of file DataType.h.
Constructor.
Definition at line 65 of file DataType.cpp.
variant_topic_tools::DataType::Impl::~Impl | ( | ) | [virtual] |
Destructor.
Reimplemented in variant_topic_tools::MessageDataType::Impl, variant_topic_tools::ArrayDataType::Impl, and variant_topic_tools::BuiltinDataType::Impl.
Definition at line 68 of file DataType.cpp.
virtual Serializer variant_topic_tools::DataType::Impl::createSerializer | ( | const DataType & | type | ) | const [pure virtual] |
Create a serializer for this data type (abstract declaration)
Implemented in variant_topic_tools::MessageDataType::ImplT< T >, variant_topic_tools::MessageDataType::ImplV, variant_topic_tools::ArrayDataType::ImplT< T >, variant_topic_tools::ArrayDataType::ImplV, and variant_topic_tools::BuiltinDataType::ImplT< T >.
virtual Variant variant_topic_tools::DataType::Impl::createVariant | ( | const DataType & | type | ) | const [pure virtual] |
Create a variant from this data type (abstract declaration)
Implemented in variant_topic_tools::MessageDataType::ImplT< T >, variant_topic_tools::MessageDataType::ImplV, variant_topic_tools::ArrayDataType::ImplT< T >, variant_topic_tools::ArrayDataType::ImplV, and variant_topic_tools::BuiltinDataType::ImplT< T >.
virtual const std::string& variant_topic_tools::DataType::Impl::getIdentifier | ( | ) | const [pure virtual] |
Retrieve the identifier representing this data type (abstract declaration)
Implemented in variant_topic_tools::MessageDataType::ImplT< T >, variant_topic_tools::MessageDataType::ImplV, variant_topic_tools::ArrayDataType::Impl, and variant_topic_tools::BuiltinDataType::Impl.
virtual size_t variant_topic_tools::DataType::Impl::getSize | ( | ) | const [pure virtual] |
Retrieve the size of the instances of this data type (abstract declaration)
Implemented in variant_topic_tools::MessageDataType::ImplT< T >, variant_topic_tools::MessageDataType::ImplV, variant_topic_tools::ArrayDataType::ImplT< T >, variant_topic_tools::ArrayDataType::ImplV, and variant_topic_tools::BuiltinDataType::ImplT< T >.
const std::type_info & variant_topic_tools::DataType::Impl::getTypeInfo | ( | ) | const [virtual] |
Retrieve the type information associated with this data type.
Reimplemented in variant_topic_tools::MessageDataType::ImplT< T >, variant_topic_tools::ArrayDataType::ImplT< T >, and variant_topic_tools::BuiltinDataType::ImplT< T >.
Definition at line 144 of file DataType.cpp.
virtual bool variant_topic_tools::DataType::Impl::isFixedSize | ( | ) | const [pure virtual] |
True, if this data type represents a fixed-size data type (abstract declaration)
Implemented in variant_topic_tools::MessageDataType::ImplT< T >, variant_topic_tools::MessageDataType::ImplV, variant_topic_tools::ArrayDataType::ImplT< T >, variant_topic_tools::ArrayDataType::ImplV, and variant_topic_tools::BuiltinDataType::ImplT< T >.
virtual bool variant_topic_tools::DataType::Impl::isSimple | ( | ) | const [pure virtual] |
True, if this data type represents a simple data type (abstract declaration)
Implemented in variant_topic_tools::MessageDataType::ImplT< T >, variant_topic_tools::MessageDataType::ImplV, variant_topic_tools::ArrayDataType::ImplT< T >, variant_topic_tools::ArrayDataType::ImplV, and variant_topic_tools::BuiltinDataType::ImplT< T >.