Array data type. More...
#include <ArrayDataType.h>
Classes | |
class | Impl |
Array data type implementation. More... | |
class | ImplT |
Array data type implementation (templated strong-typed version) More... | |
class | ImplV |
Array data type implementation (variant-typed version) More... | |
Public Member Functions | |
ArrayDataType () | |
Default constructor. More... | |
ArrayDataType (const ArrayDataType &src) | |
Copy constructor. More... | |
ArrayDataType (const DataType &src) | |
Copy constructor (overloaded version taking a data type) More... | |
const DataType & | getMemberType () const |
Retrieve the member type of this array data type. More... | |
size_t | getNumMembers () const |
Retrieve the number of members of this array data type. More... | |
bool | isDynamic () const |
True, if this array data type represents a dynamic array. More... | |
ArrayDataType & | operator= (const DataType &src) |
Assignment operator. More... | |
virtual | ~ArrayDataType () |
Destructor. More... | |
Public Member Functions inherited from variant_topic_tools::DataType | |
void | clear () |
Clear the data type. More... | |
Serializer | createSerializer () const |
Create a serializer for this data type. More... | |
Variant | createVariant () const |
Create a variant from this data type. More... | |
DataType () | |
Default constructor. More... | |
DataType (const char *identifier) | |
Constructor (overloaded version taking an identifier) More... | |
DataType (const std::string &identifier) | |
Constructor (overloaded version taking a string identifier) More... | |
DataType (const std::type_info &typeInfo) | |
Constructor (overloaded version taking type information) More... | |
DataType (const DataType &src) | |
Copy constructor. More... | |
const std::string & | getIdentifier () const |
Retrieve the identifier representing this data type. More... | |
size_t | getSize () const |
Retrieve the size of the instances of this data type. More... | |
const std::type_info & | getTypeInfo () const |
Retrieve the type information associated with this data type. More... | |
bool | hasTypeInfo () const |
True, if this data type has type information. More... | |
bool | isArray () const |
True, if this data type represents an array type. More... | |
bool | isBuiltin () const |
True, if this data type represents a built-in type. More... | |
bool | isFixedSize () const |
True, if this data type represents a fixed-size data type, as opposed to a variable-size data type. More... | |
bool | isMessage () const |
True, if this data type represents a message type. More... | |
bool | isSimple () const |
True, if this data type represents a simple data type, i.e., a data type such that an array of its instances can safely be shallow copied. More... | |
bool | isValid () const |
True, if this data type is valid. More... | |
operator void * () const | |
Void pointer conversion. More... | |
bool | operator!= (const DataType &dataType) const |
Inequality comparison operator. More... | |
bool | operator== (const DataType &dataType) const |
Equality comparison operator. More... | |
void | write (std::ostream &stream) const |
Write the data type to a stream. More... | |
virtual | ~DataType () |
Destructor. More... | |
Protected Member Functions | |
ArrayDataType (const DataType &memberType, size_t numMembers) | |
Constructor (overloaded version taking an member type and a number of members) More... | |
Static Protected Member Functions | |
template<typename T > | |
static ArrayDataType | create () |
Create an array data type (version templated on the array type) More... | |
template<typename T , size_t N> | |
static ArrayDataType | create (typename boost::enable_if< boost::type_traits::ice_eq< N, 0 > >::type *=0) |
Create an array data type (overloaded version for creating a dynamic array data type) More... | |
template<typename T , size_t N> | |
static ArrayDataType | create (typename boost::disable_if< boost::type_traits::ice_eq< N, 0 > >::type *=0) |
Create an array data type (overloaded version for creating a non-dynamic array data type) More... | |
Friends | |
class | ArraySerializer |
class | ArrayVariant |
class | DataType |
class | DataTypeRegistry |
Additional Inherited Members | |
Protected Types inherited from variant_topic_tools::DataType | |
typedef boost::shared_ptr< boost::shared_ptr< Impl > > | ImplPtr |
Declaration of the data type implementation pointer type. More... | |
typedef boost::shared_ptr< boost::weak_ptr< Impl > > | ImplWPtr |
Declaration of the data type implementation weak pointer type. More... | |
Protected Attributes inherited from variant_topic_tools::DataType | |
ImplPtr | impl |
The data type's implementation adapter. More... | |
Array data type.
Definition at line 32 of file ArrayDataType.h.
variant_topic_tools::ArrayDataType::ArrayDataType | ( | ) |
Default constructor.
Definition at line 30 of file ArrayDataType.cpp.
variant_topic_tools::ArrayDataType::ArrayDataType | ( | const ArrayDataType & | src | ) |
Copy constructor.
Definition at line 38 of file ArrayDataType.cpp.
variant_topic_tools::ArrayDataType::ArrayDataType | ( | const DataType & | src | ) |
Copy constructor (overloaded version taking a data type)
Definition at line 42 of file ArrayDataType.cpp.
|
virtual |
Destructor.
Definition at line 48 of file ArrayDataType.cpp.
|
protected |
Constructor (overloaded version taking an member type and a number of members)
Definition at line 33 of file ArrayDataType.cpp.
|
staticprotected |
Create an array data type (version templated on the array type)
|
staticprotected |
Create an array data type (overloaded version for creating a dynamic array data type)
|
staticprotected |
Create an array data type (overloaded version for creating a non-dynamic array data type)
const DataType & variant_topic_tools::ArrayDataType::getMemberType | ( | ) | const |
Retrieve the member type of this array data type.
Definition at line 72 of file ArrayDataType.cpp.
size_t variant_topic_tools::ArrayDataType::getNumMembers | ( | ) | const |
Retrieve the number of members of this array data type.
Definition at line 81 of file ArrayDataType.cpp.
bool variant_topic_tools::ArrayDataType::isDynamic | ( | ) | const |
True, if this array data type represents a dynamic array.
Definition at line 88 of file ArrayDataType.cpp.
|
virtual |
Assignment operator.
Reimplemented from variant_topic_tools::DataType.
Definition at line 140 of file ArrayDataType.cpp.
|
friend |
Definition at line 34 of file ArrayDataType.h.
|
friend |
Definition at line 35 of file ArrayDataType.h.
|
friend |
Definition at line 36 of file ArrayDataType.h.
|
friend |
Definition at line 37 of file ArrayDataType.h.