13 #if defined(__MINGW32__) 14 # define FORCE_INLINE inline 15 #elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 402) 16 # define FORCE_INLINE __attribute__((always_inline)) inline 17 #elif defined(_MSC_VER) 18 # define FORCE_INLINE __forceinline 20 # define FORCE_INLINE inline 23 namespace epics {
namespace pvData {
63 template<
typename A,
typename B,
typename R =
void>
69 template<
typename A,
typename B,
class R =
void>
struct same_root {};
70 template<
typename T,
class R>
struct same_root<T,T,R> {
typedef R
type; };
71 template<
typename T,
class R>
struct same_root<const T,T,R> {
typedef R
type; };
72 template<
typename T,
class R>
struct same_root<T,const T,R> {
typedef R
type; };
80 template<
typename A,
typename B,
class R =
void>
struct _same_type {};
85 template<
typename A,
typename B,
class R =
void>
88 typename detail::_has_const<B>::type,
104 template<
typename T,
class R =
void>
struct is_void {};
106 template<
class R>
struct is_void<const void,R> {
typedef R
type; };
114 template<
typename A,
typename B,
class EnableA =
void,
class EnableB =
void,
class R =
void>
116 template<
typename A,
typename B,
class R>
126 #define SIMPLE_ARG_TYPE(TYPE) template<> struct arg_type<TYPE> { typedef TYPE type; }; 142 #undef SIMPLE_ARG_TYPE 146 #endif // TEMPLATEMETA_H
pvd::StructureConstPtr type
TODO only here because of the Lockable.