RTI Connext Modern C++ API Version 7.1.0
|
<<value-type>> Represents and IDL struct
type
More...
#include <dds/core/xtypes/StructType.hpp>
Public Member Functions | |
StructType (const std::string &name) | |
Creates an empty struct type. More... | |
StructType (const std::string &name, const StructType &parent) | |
Creates an empty struct type with a base type. More... | |
template<typename Container > | |
StructType (const std::string &the_name, const Container &the_members) | |
Creates a struct with the members in a container. More... | |
template<typename Container > | |
StructType (const std::string &the_name, const StructType &the_parent, const Container &the_members) | |
Creates a struct with a base type and the members in a container. More... | |
template<typename MemberIter > | |
StructType (const std::string &the_name, MemberIter begin, MemberIter end) | |
Creates a struct with the members in an iterator range. More... | |
template<typename MemberIter > | |
StructType (const std::string &the_name, const StructType &the_parent, MemberIter begin, MemberIter end) | |
Creates a struct with a base type and the members in an iterator range. More... | |
StructType (const std::string &the_name, StructType &&the_parent) | |
<<C++11>> Creates an empty struct type with a base type. More... | |
template<typename MemberIter > | |
StructType (const std::string &the_name, StructType &&the_parent, MemberIter begin, MemberIter end) | |
<<C++11>> Creates an empty struct type with a base type and the members in an iterator range. More... | |
template<typename Container > | |
StructType (const std::string &the_name, StructType &&the_parent, const Container &the_members) | |
<<C++11>> Creates an empty struct type with a base type and the members in a container. More... | |
StructType (const std::string &the_name, std::initializer_list< MemberImpl > the_members) | |
<<C++11>> Creates a struct with the members in an initializer_list More... | |
StructType (const std::string &the_name, const StructType &the_parent, std::initializer_list< MemberImpl > the_members) | |
<<C++11>> Creates a struct with the members in an initializer_list and a base type More... | |
StructType (const std::string &the_name, StructType &&the_parent, std::initializer_list< MemberImpl > the_members) | |
<<C++11>> Creates a struct with the members in an initializer_list and a base type More... | |
StructType & | extensibility_kind (dds::core::xtypes::ExtensibilityKind kind) |
Sets the type extensibility kind. More... | |
bool | has_parent () const |
Indicates if this type has a base type. More... | |
const StructType & | parent () const |
Retrieves the base type. More... | |
MemberIndex | find_member_by_id (uint32_t id) const |
Gets the index of the member with a specific member ID. More... | |
StructType & | add_member (const MemberImpl &member) |
Adds a member at the end. More... | |
template<typename Container > | |
StructType & | add_members (const Container &the_members) |
Adds all the members of a container at the end. More... | |
StructType & | add_members (std::initializer_list< MemberImpl > the_members) |
<<C++11>> Adds all the members of an initializer_list at the end More... | |
template<typename MemberIter > | |
StructType & | add_members (MemberIter begin, MemberIter end) |
Adds all the members in an iterator range at the end. More... | |
StructType & | add_member (MemberImpl &&the_member) |
<<C++11>> Adds a member, moving it, at the end More... | |
![]() | |
dds::core::xtypes::ExtensibilityKind | extensibility_kind () const |
Gets the extensibility kind. More... | |
size_t | member_count () const |
Gets the number of members. More... | |
const Member & | member (MemberIndex index) const |
Gets a member by its index. More... | |
const Member & | member (const std::string &name) const |
Gets a member by its name. More... | |
MemberIndex | find_member_by_name (const std::string &name) const |
Obtains the member index from its name. More... | |
std::vector< Member > | members () const |
Gets a copy of all the members. More... | |
uint32_t | cdr_serialized_sample_max_size (dds::core::policy::DataRepresentationId representation_id=DDS_AUTO_DATA_REPRESENTATION) const |
Gets the maximum serialized size of samples of this type. More... | |
uint32_t | cdr_serialized_sample_min_size (dds::core::policy::DataRepresentationId representation_id=DDS_AUTO_DATA_REPRESENTATION) const |
Gets the minimum serialized size of samples of this type. More... | |
uint32_t | cdr_serialized_sample_key_max_size (dds::core::policy::DataRepresentationId representation_id=DDS_AUTO_DATA_REPRESENTATION) const |
Gets the maximum serialized size of sample keys of this type. More... | |
![]() | |
dds::core::xtypes::TypeKind | kind () const |
Gets the type kind. More... | |
std::string | name () const |
Gets the name. More... | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename... Types> | |
dds::core::xtypes::StructType | create_type_from_tuple (const std::string &name) |
<<C++11>> <<experimental>> <<extension>> Creates a StructType from a list of types or a std::tuple More... | |
![]() | |
bool | is_primitive_type (const DynamicType &t) |
Determines if a DynamicType is a PrimitiveType. More... | |
bool | is_constructed_type (const DynamicType &t) |
Determines if a DynamicType is a constructed type. More... | |
bool | is_collection_type (const DynamicType &t) |
Determines if a DynamicType is a CollectionType. More... | |
bool | is_aggregation_type (const DynamicType &t) |
Determines if a DynamicType is an aggregation type. More... | |
std::ostream & | operator<< (std::ostream &out, const DynamicType &type) |
<<extension>> Converts the DynamicType to a string. More... | |
void | print_idl (const DynamicType &type, unsigned int indent=0) |
<<extension>> Prints the IDL representation of this DynamicType to the standard output More... | |
std::ostream & | to_string (std::ostream &out, const DynamicType &type, const rti::core::xtypes::DynamicTypePrintFormatProperty &format=DynamicTypePrintFormatProperty()) |
<<extension>> Writes the string representation of this DynamicType to an output stream. More... | |
std::string | to_string (const DynamicType &type, const rti::core::xtypes::DynamicTypePrintFormatProperty &format=DynamicTypePrintFormatProperty()) |
<<extension>> Creates the string representation of this DynamicType to a string. More... | |
Additional Inherited Members | |
![]() | |
typedef Member | Member |
The member type (specified by the subclasses of this class) More... | |
typedef uint32_t | MemberIndex |
The member index type. More... | |
![]() | |
static OMG_DDS_API_CLASS_VARIABLE const MemberIndex | INVALID_INDEX |
Indicates that a member doesn't exist. More... | |
<<value-type>> Represents and IDL struct
type
dds::core::xtypes::StructType::StructType | ( | const std::string & | name | ) |
Creates an empty struct type.
The struct doesn't have a base type. Members can be added after creation.
name | The name of the type |
dds::core::xtypes::StructType::StructType | ( | const std::string & | name, |
const StructType & | parent | ||
) |
Creates an empty struct type with a base type.
Members can be added after creation.
name | The name of the type |
parent | The base type |
|
inline |
Creates a struct with the members in a container.
The struct doesn't have a base type.
Container | A container that provides the member functions begin() and end() to iterate over Member elements. |
the_name | The name of the type |
the_members | A container with the members for this struct type |
|
inline |
Creates a struct with a base type and the members in a container.
Container | A container that provides the member functions begin() and end() to iterate over Member elements. |
the_name | The name of the type |
the_parent | The base type |
the_members | A container with the members for this struct type |
|
inline |
Creates a struct with the members in an iterator range.
The struct doesn't have a base type.
MemberIter | A forward iterator of Member elements |
the_name | The name of the type |
begin | The beginning of the range of Members |
end | The end of the range of Members |
|
inline |
Creates a struct with a base type and the members in an iterator range.
MemberIter | A forward iterator of Member elements |
the_parent | The base type |
the_name | The name of the type |
begin | The beginning of the range of Members |
end | The end of the range of Members |
|
inline |
<<C++11>> Creates an empty struct type with a base type.
The base type is moved. This is useful to save a copy in situations like the following example:
|
inline |
<<C++11>> Creates an empty struct type with a base type and the members in an iterator range.
The base type is moved.
|
inline |
<<C++11>> Creates an empty struct type with a base type and the members in a container.
The base type is moved.
|
inline |
<<C++11>> Creates a struct with the members in an initializer_list
the_name | The name of the type |
the_members | An ininitalizer_list of Members |
|
inline |
<<C++11>> Creates a struct with the members in an initializer_list and a base type
the_name | The name of the type |
the_parent | The base type |
the_members | An ininitalizer_list of Members |
|
inline |
<<C++11>> Creates a struct with the members in an initializer_list and a base type
the_name | The name of the type |
the_parent | The base type (moved) |
the_members | An ininitalizer_list of Members |
StructType & dds::core::xtypes::StructType::extensibility_kind | ( | dds::core::xtypes::ExtensibilityKind | kind | ) |
Sets the type extensibility kind.
bool dds::core::xtypes::StructType::has_parent | ( | ) | const |
Indicates if this type has a base type.
const StructType & dds::core::xtypes::StructType::parent | ( | ) | const |
Retrieves the base type.
If this type doesn't have a base type it throws PreconditionNotMetError.
MemberIndex dds::core::xtypes::StructType::find_member_by_id | ( | uint32_t | id | ) | const |
Gets the index of the member with a specific member ID.
StructType & dds::core::xtypes::StructType::add_member | ( | const MemberImpl & | member | ) |
Adds a member at the end.
|
inline |
Adds all the members of a container at the end.
|
inline |
<<C++11>> Adds all the members of an initializer_list at the end
|
inline |
Adds all the members in an iterator range at the end.
|
inline |
<<C++11>> Adds a member, moving it, at the end
|
related |
<<C++11>> <<experimental>> <<extension>> Creates a StructType from a list of types or a std::tuple
Types | A list of types or a std::tuple. The types must be primitive (see dds::core::xtypes::PrimitiveType) or std::string . |
The StructType members are all default-created (i.e. non-key, non-optional, with default IDs...) and their names are m0, m1, m2, etc.