CoreDX DDS Modern C++ API
CoreDX DDS Modern C++ API

CoreDX DDS is a small-footprint, high-performance communications middleware compliant with the OMG Data Distribution Service (DDS) standard. CoreDX DDS supports multiple hardware architectures and operating systems, and is intended to facilitate the development of robust, near real-time, highly distributed systems.

This is the CoreDX DDS Modern C++ Reference Manual. It provides a detailed reference for the CoreDX Data Distribution Service (DDS) Modern C++ API implementation from Twin Oaks Computing, Inc. The implementation is compliant with the OMG Standard ISO/IEC C++ 2003 Language DDS PSM Version 1.0 (available at

The CoreDX DDS software provides a high-throughput, standards compliant, data communications infrastructure. CoreDX DDS offers the tools you need to realize Open Architecture goals. Built with a focus on performance, the CoreDX DDS software delivers a quality implementation of the OMG Data Distribution Service (DDS) standard.

The CoreDX DDS software implements the essential Data-Centric Publish-Subscribe (DCPS) communications layer as documented in the OMG DDS Standard. This standalone package provides everything needed to integrate QoS enabled, Publish-Subscribe messaging into an application. The core software is written in the C language, and is optimized to be small and fast. This reference manual describes the CoreDX DDS "Modern C++" language binding.

Quick Links

The CoreDX DDS Modern C++ API Cookbook provides helpful recepies for constructing and using DDS entities.

Below is a table-based index of the primary constructs that make up the CoreDX DDS Modern C++ API.

DDS Entities

This includes the primary objects with which an application must interact to enable DDS publish-subscribe communications.

Entity Link
DomainParticipant dds::domain::DomainParticipant
Publisher dds::pub::Publisher
Subscriber dds::sub::Subscriber
Topic dds::topic::Topic
ContentFilteredTopic dds::topic::ContentFilteredTopic
DataWriter dds::pub::DataWriter
DataReader dds::sub::DataReader


These elements are used in configuring the Quality of Service of the various DDS entities.

QoS Collection Link
DomainParticipantQos org::toc::coredx::domain::qos::DomainParticipantQos
PublisherQos org::toc::coredx::pub::qos::PublisherQos
SubscriberQos org::toc::coredx::sub::qos::SubscriberQos
TopicQos org::toc::coredx::topic::qos::TopicQos
DataWriterQos org::toc::coredx::pub::qos::DataWriterQos
DataReaderQos org::toc::coredx::sub::qos::DataReaderQos

DDS Listeners

This section covers the various structures and concepts involved in delivering events to the application.

Listener Link
DomainParticipantListener dds::domain::DomainParticipantListener
TopicListener dds::topic::TopicListener
PublisherListener dds::pub::PublisherListener
DataWriterListener dds::pub::DataWriterListener
SubscriberListener dds::sub::SubscriberListener
DataReaderListener dds::sub::DataReaderListener

DDS Status

This section describes the types of status maintained by the infrastructure.

Status Link
InconsistentTopicStatus org::toc::coredx::core::InconsistentTopicStatusImpl
LivelinessChangedStatus org::toc::coredx::core::LivelinessChangedStatusImpl
LivelinessLostStatus org::toc::coredx::core::LivelinessLostStatusImpl
OfferedDeadlineMissedStatus org::toc::coredx::core::OfferedDeadlineMissedStatusImpl
OfferedIncompatibleQosStatus org::toc::coredx::core::OfferedIncompatibleQosStatusImpl
PublicationMatchedStatus org::toc::coredx::core::PublicationMatchedStatusImpl
SampleRejectedStatus org::toc::coredx::core::SampleRejectedStatusImpl
RequestedDeadlineMissedStatus org::toc::coredx::core::RequestedDeadlineMissedStatusImpl
RequestedIncompatibleQosStatus org::toc::coredx::core::RequestedIncompatibleQosStatusImpl
SampleLostStatus org::toc::coredx::core::SampleLostStatusImpl
SubscriptionMatchedStatus org::toc::coredx::core::SubscriptionMatchedStatusImpl

Dynamic Data Types

This includes routines and objects to support dynamic data types.

Dynamic Type / Data Link
DynamicType dds::core::xtypes::DynamicType
DynamicData dds::core::xtypes::DynamicData
StructType dds::core::xtypes::StructType
MemberType dds::core::xtypes::MemberType
UnionType dds::core::xtypes::UnionType
UnionMember dds::core::xtypes::UnionMember
EnumType dds::core::xtypes::EnumType
MapType dds::core::xtypes::MapType
SequenceType dds::core::xtypes::SequenceType
StringType dds::core::xtypes::StringType
ArrayType dds::core::xtypes::ArrayType

Not Yet Supported

Also, a list of API items which are not yet supported by CoreDX DDS are provided here.

Intended Audience

This document is intended for software developers who are integrating the CoreDX DDS software into their application(s). The reference manual assumes that the reader is competent in programming languages and software development concepts. CoreDX DDS supports multiple languages, and this reference manual focuses on the C++11 programming language.

© 2009-2020 Twin Oaks Computing, Inc
Castle Rock, CO 80104
All rights reserved.