-
Key: DDSPSMC11_-77
-
Status: open
-
Source: Real-Time Innovations ( Mr. Alejandro Campos)
-
Summary:
Invoking an extension function in a standard type requires using an overloaded arrow operator. For example:
// Standard class (in dds namespace) dds::domain::DomainParticipant participant(MY_DOMAIN_ID); // Call a standard method participant.assert_liveliness(); // Call an extension method: participant->vendor_specific_method(...);
The use of the arrow operator is counterintuitive to most people (the variable is not a pointer) and didn't allow an IDE to show the available extensions if the regular dot operator was used.
We propose adding an "extensions()" function to dds::core::Reference and dds::core::Value that can be used as follows:
// Call an extension method: participant.extensions().register_durable_subscription(...);
-
Reported: DDS-PSM-Cxx 1.0b2 — Fri, 10 May 2019 18:32 GMT
-
Updated: Wed, 15 May 2019 16:12 GMT
DDSPSMC11_ — Unintuitive way to access extension member functions
- Key: DDSPSMC11_-77
- OMG Task Force: DDS-PSM-Cxx v1.1 RTF