11 #ifndef RTIREFLEX_MEMBER_NAMES_H
12 #define RTIREFLEX_MEMBER_NAMES_H
16 #include <boost/preprocessor/seq/for_each.hpp>
17 #include <boost/preprocessor/seq/size.hpp>
18 #include <boost/fusion/adapted/struct/adapt_struct.hpp>
19 #include <boost/fusion/include/adapt_struct.hpp>
21 #include "ndds/ndds_cpp.h"
38 template <
class... Args>
41 template <
class TagType,
class... Cases>
73 template <
class T,
unsigned I>
77 return reflex::detail::NameHelper::get_member_info(I);
81 template <
class First,
class Second>
85 return MemberInfo(
"first", DDS_TYPECODE_NONKEY_REQUIRED_MEMBER);
89 template <
class First,
class Second>
93 return MemberInfo(
"second", DDS_TYPECODE_NONKEY_REQUIRED_MEMBER);
101 static std::string
get()
103 #ifdef HAVE_CXA_DEMANGLE
104 return reflex::detail::NameHelper::demangle(
typeid(T).name());
106 return reflex::detail::NameHelper::type_name(
"DefaultTypeName");
111 template <
class First,
class Second>
114 static std::string
get()
116 return reflex::detail::NameHelper::type_name(
"DefaultPairTypeName");
120 template <
class... Args>
123 static std::string
get()
125 return reflex::detail::NameHelper::type_name(
"DefaultSparseTypeName");
129 template <
class TagType,
class... Cases>
132 static std::string
get()
134 return reflex::detail::NameHelper::type_name(
"DefaultUnionName");
138 template <
class... Args>
141 static std::string
get()
143 return reflex::detail::NameHelper::type_name(
"DefaultTupleName");
152 #ifndef REFLEX_NO_HEADER_ONLY
153 #include "reflex/../../src/member_names.cxx"
156 #endif // RTIREFLEX_MEMBER_NAMES_H
std::string name
Definition: member_names.h:49
unsigned char value
Definition: member_names.h:50
Definition: member_names.h:47
#define REFLEX_DLL_EXPORT
Definition: dllexport.h:35
Definition: member_names.h:99
static MemberInfo member_info()
Definition: member_names.h:76
static MemberInfo member_info()
Definition: member_names.h:92
REFLEX_DLL_EXPORT MemberInfo()
Definition: member_names.cxx:88
static MemberInfo member_info()
Definition: member_names.h:84
Macros to adapt user-defined types (classes, structs, and enums) to allow RefleX to extract type-spec...
Definition: member_names.h:74