Class TypeDescriptor

Class Documentation

class TypeDescriptor

Public Functions

RTPS_DllAPI TypeDescriptor()
RTPS_DllAPI TypeDescriptor(const TypeDescriptor *other)
RTPS_DllAPI TypeDescriptor(const std::string &name, TypeKind kind)
RTPS_DllAPI ~TypeDescriptor()
RTPS_DllAPI ReturnCode_t copy_from (const TypeDescriptor *descriptor)
RTPS_DllAPI bool equals (const TypeDescriptor *descriptor) const
RTPS_DllAPI bool is_consistent () const
RTPS_DllAPI DynamicType_ptr get_base_type () const
RTPS_DllAPI uint32_t get_bounds (uint32_t index=0) const
RTPS_DllAPI uint32_t get_bounds_size () const
RTPS_DllAPI DynamicType_ptr get_discriminator_type () const
RTPS_DllAPI DynamicType_ptr get_element_type () const
RTPS_DllAPI DynamicType_ptr get_key_element_type () const
RTPS_DllAPI TypeKind get_kind () const
RTPS_DllAPI std::string get_name () const
RTPS_DllAPI uint32_t get_total_bounds () const
RTPS_DllAPI void set_kind (TypeKind kind)
RTPS_DllAPI void set_name (std::string name)
RTPS_DllAPI ReturnCode_t apply_annotation (AnnotationDescriptor &descriptor)
RTPS_DllAPI ReturnCode_t apply_annotation (const std::string &annotation_name, const std::string &key, const std::string &value)
RTPS_DllAPI AnnotationDescriptor * get_annotation (const std::string &name) const
RTPS_DllAPI bool annotation_is_extensibility () const
RTPS_DllAPI bool annotation_is_mutable () const
RTPS_DllAPI bool annotation_is_final () const
RTPS_DllAPI bool annotation_is_appendable () const
RTPS_DllAPI bool annotation_is_nested () const
RTPS_DllAPI bool annotation_is_bit_bound () const
RTPS_DllAPI bool annotation_is_key () const
RTPS_DllAPI bool annotation_is_non_serialized () const
RTPS_DllAPI std::string annotation_get_extensibility () const
RTPS_DllAPI bool annotation_get_nested () const
RTPS_DllAPI uint16_t annotation_get_bit_bound () const
RTPS_DllAPI bool annotation_get_key () const
RTPS_DllAPI void annotation_set_extensibility (const std::string &extensibility)
RTPS_DllAPI void annotation_set_mutable ()
RTPS_DllAPI void annotation_set_final ()
RTPS_DllAPI void annotation_set_appendable ()
RTPS_DllAPI void annotation_set_nested (bool nested)
RTPS_DllAPI void annotation_set_bit_bound (uint16_t bit_bound)
RTPS_DllAPI void annotation_set_key (bool key)
RTPS_DllAPI void annotation_set_non_serialized (bool non_serialized)

Protected Functions

RTPS_DllAPI void clean ()

Protected Attributes

TypeKind kind_
std::string name_
DynamicType_ptr base_type_
DynamicType_ptr discriminator_type_
std::vector<uint32_t> bound_
DynamicType_ptr element_type_
DynamicType_ptr key_element_type_
std::vector<AnnotationDescriptor*> annotation_

Protected Static Functions

static bool is_type_name_consistent(const std::string &sName)

Friends

friend class DynamicTypeBuilderFactory
friend class TypeObjectFactory
friend class DynamicType
friend class MemberDescriptor
friend class DynamicDataHelper