Class DynamicTypeBuilder

Class Documentation

class DynamicTypeBuilder

Public Functions

RTPS_DllAPI ReturnCode_t add_empty_member (uint32_t index, const std::string &name)
RTPS_DllAPI ReturnCode_t add_member (const MemberDescriptor *descriptor)
RTPS_DllAPI ReturnCode_t add_member (MemberId id, const std::string &name, DynamicTypeBuilder *type_=nullptr)
RTPS_DllAPI ReturnCode_t add_member (MemberId id, const std::string &name, DynamicTypeBuilder *type_, const std::string &defaultValue)
RTPS_DllAPI ReturnCode_t add_member (MemberId id, const std::string &name, DynamicTypeBuilder *type_, const std::string &defaultValue, const std::vector< uint64_t > &unionLabels, bool isDefaultLabel)
RTPS_DllAPI ReturnCode_t add_member (MemberId id, const std::string &name, DynamicType_ptr type_=DynamicType_ptr(nullptr))
RTPS_DllAPI ReturnCode_t add_member (MemberId id, const std::string &name, DynamicType_ptr type_, const std::string &defaultValue)
RTPS_DllAPI ReturnCode_t add_member (MemberId id, const std::string &name, DynamicType_ptr type_, const std::string &defaultValue, const std::vector< uint64_t > &unionLabels, bool isDefaultLabel)
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 ReturnCode_t apply_annotation_to_member (MemberId id, AnnotationDescriptor &descriptor)
RTPS_DllAPI ReturnCode_t apply_annotation_to_member (MemberId id, const std::string &annotation_name, const std::string &key, const std::string &value)
RTPS_DllAPI DynamicType_ptr build ()
RTPS_DllAPI ReturnCode_t copy_from (const DynamicTypeBuilder *other)
ReturnCode_t get_all_members(std::map<MemberId, DynamicTypeMember*> &members)
inline RTPS_DllAPI TypeKind get_kind () const
RTPS_DllAPI std::string get_name () const
RTPS_DllAPI MemberId get_member_id_by_name (const std::string &name) const
inline const TypeDescriptor *get_type_descriptor() const
bool is_consistent() const
bool is_discriminator_type() const
RTPS_DllAPI ReturnCode_t set_name (const std::string &name)

Protected Functions

DynamicTypeBuilder()
DynamicTypeBuilder(const DynamicTypeBuilder *builder)
DynamicTypeBuilder(const TypeDescriptor *descriptor)
virtual ~DynamicTypeBuilder()
ReturnCode_t _apply_annotation_to_member(MemberId id, AnnotationDescriptor &descriptor)
ReturnCode_t _apply_annotation_to_member(MemberId id, const std::string &annotation_name, const std::string &key, const std::string &value)
bool check_union_configuration(const MemberDescriptor *descriptor)
bool exists_member_by_name(const std::string &name) const
void refresh_member_ids()
void clear()
ReturnCode_t copy_from_builder(const DynamicTypeBuilder *other)

Protected Attributes

TypeDescriptor *descriptor_
std::map<MemberId, DynamicTypeMember*> member_by_id_
std::map<std::string, DynamicTypeMember*> member_by_name_
std::string name_
TypeKind kind_
MemberId current_member_id_
uint32_t max_index_

Friends

friend class DynamicType
friend class DynamicTypeBuilderFactory