6.13. Known Issues with Dynamic Data

6.13.1. Conversion of data by member-access primitives limited when converting to types that are not supported on all platforms

The conversion of data by member-access primitives (get_X() operations) is limited when converting to types that are not supported on all platforms. This limitation applies when converting to a 64-bit int64 type (get_longlong() and get_ulonglong() operations) and a 128-bit long double type (get_longdouble()). These methods will always work for data members that are actually of the correct type, but will only support conversion from values that are stored as smaller types on a subset of platforms. Conversion to 64-bit int64s from a 32-bit or smaller integer type is supported on all Windows and Linux architectures, and any additional 64-bit architectures. Conversion to 128-bit long doubles from a float or double is not supported.

[RTI Issue ID CORE-2986]

6.13.2. Types that contain bit fields not supported

Types that contain bit fields are not supported by DynamicData. Therefore, when rtiddsspy discovers any type that contains a bit field, rtiddsspy will print this message:

DDS_DynamicDataTypeSupport_initialize:type not supported (bitfield member)

[RTI Issue ID CORE-2977]

6.13.3. Long double not supported for DynamicData in Java API

The Java API does not have DynamicData APIs to handle long double fields. That is, get_longdouble and set_longdouble don’t exist. As a result, it’s not possible to work with long double fields of DynamicData samples in the Java API.

[RTI Issue ID CORE-14091]