Classes | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
variant_topic_tools::ArrayDataType Class Reference

Array data type. More...

#include <ArrayDataType.h>

Inheritance diagram for variant_topic_tools::ArrayDataType:
Inheritance graph
[legend]

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 DataTypegetMemberType () 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...
 
ArrayDataTypeoperator= (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...
 

Detailed Description

Array data type.

Definition at line 32 of file ArrayDataType.h.

Constructor & Destructor Documentation

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.

variant_topic_tools::ArrayDataType::~ArrayDataType ( )
virtual

Destructor.

Definition at line 48 of file ArrayDataType.cpp.

variant_topic_tools::ArrayDataType::ArrayDataType ( const DataType memberType,
size_t  numMembers 
)
protected

Constructor (overloaded version taking an member type and a number of members)

Definition at line 33 of file ArrayDataType.cpp.

Member Function Documentation

template<typename T >
static ArrayDataType variant_topic_tools::ArrayDataType::create ( )
staticprotected

Create an array data type (version templated on the array type)

template<typename T , size_t N>
static ArrayDataType variant_topic_tools::ArrayDataType::create ( typename boost::enable_if< boost::type_traits::ice_eq< N, 0 > >::type *  = 0)
staticprotected

Create an array data type (overloaded version for creating a dynamic array data type)

template<typename T , size_t N>
static ArrayDataType variant_topic_tools::ArrayDataType::create ( typename boost::disable_if< boost::type_traits::ice_eq< N, 0 > >::type *  = 0)
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.

ArrayDataType & variant_topic_tools::ArrayDataType::operator= ( const DataType src)
virtual

Assignment operator.

Reimplemented from variant_topic_tools::DataType.

Definition at line 140 of file ArrayDataType.cpp.

Friends And Related Function Documentation

friend class ArraySerializer
friend

Definition at line 34 of file ArrayDataType.h.

friend class ArrayVariant
friend

Definition at line 35 of file ArrayDataType.h.

friend class DataType
friend

Definition at line 36 of file ArrayDataType.h.

friend class DataTypeRegistry
friend

Definition at line 37 of file ArrayDataType.h.


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


variant_topic_tools
Author(s): Ralf Kaestner
autogenerated on Sat Jan 9 2021 03:56:50