15#ifndef FASTDDS_DDS_XTYPES_DYNAMIC_TYPES__TYPEDESCRIPTOR_HPP
16#define FASTDDS_DDS_XTYPES_DYNAMIC_TYPES__TYPEDESCRIPTOR_HPP
18#include <fastdds/dds/core/ReturnCode.hpp>
19#include <fastdds/dds/xtypes/dynamic_types/Types.hpp>
20#include <fastdds/fastdds_dll.hpp>
TypeDescriptor definition according to [standard] section 7.5.2.4.
Definition TypeDescriptor.hpp:32
virtual void kind(TypeKind kind)=0
Modifies the underlying TypeKind.
virtual ~TypeDescriptor()=default
virtual traits< DynamicType >::ref_type & discriminator_type()=0
Returns a reference discriminator type.
virtual void bound(const BoundSeq &bound)=0
Modifies the underlying bound by copy.
virtual void base_type(traits< DynamicType >::ref_type type)=0
Modifies the underlying base type reference.
virtual void extensibility_kind(ExtensibilityKind extensibility_kind)=0
Modifies the extensibility kind.
virtual bool is_consistent()=0
Indicates whether the states of all of this descriptor's properties are consistent according with the...
virtual TypeKind & kind()=0
Returns the TypeKind associated.
virtual BoundSeq & bound()=0
Returns the bound.
virtual void key_element_type(traits< DynamicType >::ref_type type)=0
Modifies the underlying key element type reference.
virtual void name(ObjectName &&name)=0
Modifies the underlying type name by move.
virtual traits< DynamicType >::ref_type & element_type()=0
Returns a reference element type.
virtual ExtensibilityKind extensibility_kind() const =0
Returns the extensibility kind.
virtual ObjectName & name()=0
Returns the fully qualified name of this type.
virtual ExtensibilityKind & extensibility_kind()=0
Returns the extensibility kind.
virtual traits< DynamicType >::ref_type discriminator_type() const =0
Returns a reference discriminator type.
virtual traits< DynamicType >::ref_type & key_element_type()=0
Returns a reference key element type.
virtual void bound(BoundSeq &&bound)=0
Modifies the underlying bound by move.
virtual traits< DynamicType >::ref_type element_type() const =0
Returns a reference element type.
virtual bool & is_nested()=0
Returns the is_nested property.
virtual bool equals(traits< TypeDescriptor >::ref_type descriptor)=0
Compares according with the [standard] section 7.5.2.4.6.
virtual void name(const ObjectName &name)=0
Modifies the underlying type name by copy.
virtual void is_nested(bool is_nested)=0
Modifies the is_nested property.
virtual void discriminator_type(traits< DynamicType >::ref_type type)=0
Modifies the underlying discriminator type reference.
virtual const BoundSeq & bound() const =0
Returns the bound.
virtual const ObjectName & name() const =0
Returns the fully qualified name of this type.
virtual bool is_nested() const =0
Returns the is_nested property.
TypeDescriptor(const TypeDescriptor &type)=default
typename traits< TypeDescriptor >::ref_type _ref_type
Definition TypeDescriptor.hpp:35
virtual TypeKind kind() const =0
Returns the TypeKind associated.
virtual traits< DynamicType >::ref_type key_element_type() const =0
Returns a reference key element type.
virtual traits< DynamicType >::ref_type base_type() const =0
Returns a reference to the base type.
virtual ReturnCode_t copy_from(traits< TypeDescriptor >::ref_type descriptor)=0
Overwrites the contents of this descriptor with those of another descriptor (see [standard] 7....
virtual traits< DynamicType >::ref_type & base_type()=0
Returns a reference to the base type.
virtual void element_type(traits< DynamicType >::ref_type type)=0
Modifies the underlying element type reference.
TypeDescriptor(TypeDescriptor &&type)=default
ExtensibilityKind
This class represents the enumeration ExtensibilityKind defined by the user in the IDL file.
Definition dynamic_language_binding.hpp:107
Definition DomainParticipant.hpp:45
std::vector< uint32_t > BoundSeq
Definition dynamic_language_binding.hpp:68
int32_t ReturnCode_t
Definition DDSReturnCode.hpp:59
eprosima::fastcdr::fixed_string< 256 > ObjectName
Definition dynamic_language_binding.hpp:66
uint8_t TypeKind
Definition dynamic_language_binding.hpp:70
typename ::std::shared_ptr< T > ref_type
Definition type_traits.hpp:29