RTI Connext Modern C++ API
Version 5.2.0
|
This section describes the headers and namespaces in the modern C++ API.
The modern C++ API is organized using a set of standard header files that you will find in the $NDDSHOME/include/hpp/dds directory of your installation. The headers in this directory are organized into 5 modules defined by the DDS v1.2 Platform Independent Mapping (PIM):
You will also find an $NDDSHOME/include/hpp/rti directory in your installation. This directory contains RTI Connext implementation specific details along with extensions to the standard API.
To import the DDS API into your application you must include these header files. You can do this in one of three ways:
All of the Programming How-To pages start with a section showing which header that the code snippets on that page require.
There are a number of different namespaces in the modern C++ API that organize the API into logical groups. The two main namespaces are dds
and rti
.
The dds
namespace includes all of the standard types, classes and methods. The rti
namespace includes all RTI extensions to the standard API.
The dds
and rti
namespaces both contain several nested namespaces. There is a namespace for each of the 5 modules: dds::core, dds::domain, dds::topic, dds::pub, dds::sub (and the corresponding rti::core, rti::domain, rti::topic, rti::pub, rti::sub).
The rti namespace also contains rti::util and rti::config.
There are further specialized namespaces within each module namespace.
All of the modules, excluding core, contain a qos
namespace that contains the Qos classes for the entities contained in that module:
dds::domain::qos
DomainParticipantQos
DomainParticipantFactoryQos
dds::pub::qos
PublisherQos
DataWriterQos
dds::sub::qos
SubscriberQos
DataReaderQos
dds::topic::qos
TopicQos
All of the individual Qos policies can be accessed from either the dds::core::policy
namespace for standard Qos policies or the rti::core::policy
namespace for RTI extension Qos policies.
In addition to the policy
namespace, the core
namespace contains two other nested namespaces.
dds::core::status
StatusMask
dds::core::cond
Condition
GuardCondidtion
StatusCondition
Waitset
The sub
namespace also contains the status
and cond
nested namespaces.
dds::sub::status
DataState
dds::sub::cond
QueryCondition
ReadCondition
Two convenience namespaces bring all the symbols into a single place: dds::all
and rti::all
.