14 #include <ndds/ndds_cpp.h>
32 #include <boost/fusion/sequence/intrinsic/size.hpp>
33 #include <boost/fusion/include/size.hpp>
43 template <
class T,
class U>
44 struct MembersInBasesImpl;
59 value = MembersInBasesImpl<Base, BaseHasBase>::value +
68 enum { value = MembersInBasesImpl<T, HasBase>::value };
73 void write_dynamicdata_impl(
75 DDS_DynamicData &instance,
78 typedef detail::TypelistIterator<
85 detail::MemberAccess::BY_ID(1),
90 void write_dynamicdata_impl(
92 DDS_DynamicData &instance,
97 write_dynamicdata_impl(
98 static_cast<const Base &>(data),
102 typedef detail::TypelistIterator<
109 detail::MemberAccess::BY_ID(MembersInBases<T>::value + 1),
114 void read_dynamicdata_impl(
115 const DDS_DynamicData & instance,
119 typedef detail::TypelistIterator<
126 detail::MemberAccess::BY_ID(1),
131 void read_dynamicdata_impl(
132 const DDS_DynamicData & instance,
138 read_dynamicdata_impl(
140 static_cast<Base &>(data),
143 typedef detail::TypelistIterator<
150 detail::MemberAccess::BY_ID(MembersInBases<T>::value + 1),
159 detail::write_dynamicdata_impl(
168 detail::write_dynamicdata_impl(
178 detail::Struct_TC_Helper::get_typecode_struct<T>(
188 detail::read_dynamicdata_impl(
197 detail::read_dynamicdata_impl(
207 #ifndef REFLEX_NO_HEADER_ONLY
208 #include "reflex/../../src/reflex.cxx"
212 #endif // RTIREFLEX_H
void write_dynamicdata(DDS_DynamicData &dest, const T &src)
Copies source data into the destination DDS_DynamicData instance.
Definition: reflex.h:157
SafeTypeCode< T > make_typecode(const char *name)
Creates a TypeCode for structured type T.
Definition: reflex.h:175
DDS_DynamicData * get()
Return the underlying DynamicData instance.
Definition: auto_dd.cxx:98
Automatically manages the memory of a DynamicData instance.
Definition: auto_dd.h:33
void read_dynamicdata(T &dest, const DDS_DynamicData &src)
Extracts data out from the source DDS_DynamicData instance and copies into the destination object of ...
Definition: reflex.h:186
Definition: enable_if.h:466
reflex::meta::false_type has_base
Definition: enable_if.h:467
A type-safe, exception-safe wrapper for DDS TypeCode.
Definition: reflex_fwd.h:27