RTI Connext Modern C++ API  Version 7.0.0
dds::topic::qos::TopicQos Class Reference

<<value-type>> Container of the QoS policies that a dds::topic::Topic supports More...

#include <dds/topic/qos/TopicQos.hpp>

Public Member Functions

 TopicQos ()
 Creates a TopicQos with the default value for each policy. More...
 
template<typename POLICY >
const POLICY & policy () const
 Gets a QoS policy by const reference. More...
 
template<typename POLICY >
POLICY & policy ()
 Gets a QoS policy by reference. More...
 
template<typename Policy >
TopicQospolicy (const Policy &p)
 Sets a policy. More...
 
template<typename Policy >
TopicQosoperator<< (const Policy &p)
 Sets a policy. More...
 
template<typename Policy >
const TopicQosoperator>> (Policy &p) const
 Copies the values of a policy. More...
 

Related Functions

(Note that these are not member functions.)

std::string to_string (const TopicQos &qos, const rti::core::QosPrintFormat &format=rti::core::QosPrintFormat())
 <<extension>> Obtains a string representation of the dds::topic::qos::TopicQos More...
 
std::string to_string (const TopicQos &qos, const TopicQos &base, const rti::core::QosPrintFormat &format=rti::core::QosPrintFormat())
 <<extension>> Obtains a string representation of the dds::topic::qos::TopicQos More...
 
std::string to_string (const TopicQos &qos, const rti::core::qos_print_all_t &qos_print_all, const rti::core::QosPrintFormat &format=rti::core::QosPrintFormat())
 <<extension>> Obtains a string representation of the dds::topic::qos::TopicQos More...
 
std::ostream & operator<< (std::ostream &out, const rti::topic::qos::TopicQos &qos)
 <<extension>> Prints a dds::topic::qos::TopicQos to an output stream. More...
 

Detailed Description

<<value-type>> Container of the QoS policies that a dds::topic::Topic supports

TopicQos Policies

A TopicQos contains the following policies:

To get or set policies use the policy() getters and setters or operator << (see examples).

You must set certain members in a consistent manner:

length of dds::topic::qos::TopicQos::topic_data .value <= dds::domain::qos::DomainParticipantQos::resource_limits .topic_data_max_length

If any of the above are not true, dds::topic::Topic::qos(const dds::topic::qos::TopicQos&), dds::topic::Topic::qos() and dds::domain::DomainParticipant::default_topic_qos will fail with dds::core::InconsistentPolicyError and the dds::topic::Topic constructors will fail with dds::core::Error

Entity:
dds::topic::Topic
See also
QoS Policies allowed ranges within each Qos.
Qos Use Cases

Constructor & Destructor Documentation

◆ TopicQos()

dds::topic::qos::TopicQos::TopicQos ( )
inline

Creates a TopicQos with the default value for each policy.

Member Function Documentation

◆ policy() [1/3]

template<typename POLICY >
const POLICY& dds::topic::qos::TopicQos::policy ( ) const

Gets a QoS policy by const reference.

Template Parameters
PolicyOne of the TopicQos Policies
See also
Setting Qos Values

◆ policy() [2/3]

template<typename POLICY >
POLICY& dds::topic::qos::TopicQos::policy ( )

Gets a QoS policy by reference.

Template Parameters
PolicyOne of the TopicQos Policies
See also
Setting Qos Values

◆ policy() [3/3]

template<typename Policy >
TopicQos& dds::topic::qos::TopicQos::policy ( const Policy &  p)
inline

Sets a policy.

See also
policy()
Setting Qos Values

◆ operator<<()

template<typename Policy >
TopicQos& dds::topic::qos::TopicQos::operator<< ( const Policy &  p)
inline

Sets a policy.

See also
policy()
Setting Qos Values

◆ operator>>()

template<typename Policy >
const TopicQos& dds::topic::qos::TopicQos::operator>> ( Policy &  p) const
inline

Copies the values of a policy.

Parameters
pThe destination where to copy the current value of the Policy
See also
policy()
Setting Qos Values

References rti::topic::to_string().

Friends And Related Function Documentation

◆ to_string() [1/3]

std::string to_string ( const TopicQos qos,
const rti::core::QosPrintFormat format = rti::core::QosPrintFormat() 
)
related

<<extension>> Obtains a string representation of the dds::topic::qos::TopicQos

Parameters
qosThe qos object to convert to a string
formatThe optional print format used to format the output string.

The several to_string overloads allow formatting the output and printing only the differences with respect to another Qos object.

// When no QosPrintFormat is supplied, the default is used. Similarly, since
// no base profile has been specified we will only print the differences
// with respect to the documented default for TopicQos
// In this overload we are specifying the print format used to format the output
// string.
QosPrintFormat format; // ...;
str = to_string(qos, format);
// Here, the differences between qos and base will be included in the output
// string. If the two qos objects are the same, the resulting string will
// be empty.
TopicQos base; // ...;
str = to_string(qos, base);
// We could also specify the format at this point
str = to_string(qos, base, format);
// Instead of supplying a base profile, the sentinel value qos_print_all can
// be supplied. This will result in the entire Qos object being printed (as
// opposed to only the differences with respect to a base qos).

This overload uses the default print format and only prints the differences between qos and the documented default.

Returns
The string representation of the qos

◆ to_string() [2/3]

std::string to_string ( const TopicQos qos,
const TopicQos base,
const rti::core::QosPrintFormat format = rti::core::QosPrintFormat() 
)
related

<<extension>> Obtains a string representation of the dds::topic::qos::TopicQos

Parameters
qosThe qos object to convert to a string
baseThe base qos. Only the differences between base and qos are included in the output string. If you want to print everything within the QoS, use the overload that accepts a rti::core::qos_print_all_t.
formatThe optional print format used to format the output string.

This overload prints the differences between qos and base. If no print format is specified, the default will be used.

Returns
The string representation of the qos

◆ to_string() [3/3]

std::string to_string ( const TopicQos qos,
const rti::core::qos_print_all_t qos_print_all,
const rti::core::QosPrintFormat format = rti::core::QosPrintFormat() 
)
related

<<extension>> Obtains a string representation of the dds::topic::qos::TopicQos

Parameters
qosThe qos object to convert to a string
qos_print_allThe sentinel value indicating that the entire QoS should be converted to a string. The other overloads of this API only print the differences with respect to a base profile, or to the documented default.
formatThe optional print format used to format the output string.

This overload prints all of the policies within qos. If no print format is specified, the default will be used.

The only valid value for the qos_print_all argument is rti::core::qos_print_all

For example:

Returns
The string representation of the qos

◆ operator<<()

std::ostream & operator<< ( std::ostream &  out,
const rti::topic::qos::TopicQos &  qos 
)
related

<<extension>> Prints a dds::topic::qos::TopicQos to an output stream.