DDS-PSM-C++  1.0
ISO C++ API for OpenSplice DDS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros
refmacros.hpp File Reference
#include <dds/core/macros.hpp>
#include <dds/core/ref_traits.hpp>
Include dependency graph for refmacros.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DDS_PTR_CTOR_REF_TYPE(TYPE, BASE, DELEGATE)
 
#define DECLARE_TYPE_TRAITS(TYPE)
 
#define OMG_DDS_BASIC_REF_TYPE(TYPE, BASE, DELEGATE)
 
#define OMG_DDS_REF_TYPE(TYPE, BASE, DELEGATE)
 
#define OMG_DDS_REF_TYPE_BASE(TYPE, BASE, DELEGATE)
 
#define OMG_DDS_REF_TYPE_BASE_T(TYPE, BASE, T_PARAM, DELEGATE)
 
#define OMG_DDS_REF_TYPE_DELEGATE(TYPE, BASE, DELEGATE)
 
#define OMG_DDS_REF_TYPE_DELEGATE_T(TYPE, BASE, T_PARAM, DELEGATE)
 
#define OMG_DDS_REF_TYPE_NODC(TYPE, BASE, DELEGATE)
 
#define OMG_DDS_REF_TYPE_NODC_T(TYPE, BASE, T_PARAM, DELEGATE)
 
#define OMG_DDS_REF_TYPE_T(TYPE, BASE, T_PARAM, DELEGATE)
 

Macro Definition Documentation

#define DDS_PTR_CTOR_REF_TYPE (   TYPE,
  BASE,
  DELEGATE 
)

Definition at line 160 of file refmacros.hpp.

#define DECLARE_TYPE_TRAITS (   TYPE)
Value:
typedef TYPE TYPE##_T;\
typedef typename ::dds::core::smart_ptr_traits<TYPE>::ref_type TYPE##_REF_T;\
typedef typename ::dds::core::smart_ptr_traits<TYPE>::weak_ref_type TYPE##_WEAK_REF_T;

Definition at line 29 of file refmacros.hpp.

#define OMG_DDS_BASIC_REF_TYPE (   TYPE,
  BASE,
  DELEGATE 
)
Value:
private: \
TYPE(); \
public: \
TYPE(const dds::core::null_type&) : BASE< DELEGATE >(static_cast<DELEGATE*>(NULL)) { }

Definition at line 220 of file refmacros.hpp.

#define OMG_DDS_REF_TYPE (   TYPE,
  BASE,
  DELEGATE 
)
Value:
OMG_DDS_REF_TYPE_NODC(TYPE, BASE, DELEGATE) \
private: \
TYPE(); \
public: \
TYPE(const dds::core::null_type&) : BASE< DELEGATE >(static_cast<DELEGATE*>(NULL)) { }

Definition at line 206 of file refmacros.hpp.

#define OMG_DDS_REF_TYPE_BASE (   TYPE,
  BASE,
  DELEGATE 
)
Value:
public: \
typedef BASE< DELEGATE > BASE_T;\
protected:\
explicit TYPE(DELEGATE_T* p)\
: BASE< DELEGATE_T >(p) \
{ }\
public:\
template <typename H__> \
TYPE(const H__& h) \
: BASE< DELEGATE_T >(h) \
{ \
this->::dds::core::Reference<DELEGATE>::impl_ = h.delegate(); \
}

Definition at line 68 of file refmacros.hpp.

#define OMG_DDS_REF_TYPE_BASE_T (   TYPE,
  BASE,
  T_PARAM,
  DELEGATE 
)
Value:
public: \
typedef BASE< T_PARAM, DELEGATE > BASE_T; \
protected: \
explicit TYPE(DELEGATE_T* p) \
: BASE< T_PARAM, DELEGATE >(p) \
{ } \
public: \
template <typename H__> \
TYPE(const H__& h) \
: BASE< T_PARAM, DELEGATE >(h) \
{ \
this->::dds::core::Reference< DELEGATE< T_PARAM > >::impl_ = h.delegate(); \
}

Definition at line 84 of file refmacros.hpp.

#define OMG_DDS_REF_TYPE_DELEGATE (   TYPE,
  BASE,
  DELEGATE 
)
Value:
public: \
typedef DELEGATE DELEGATE_T; \
typedef typename ::dds::core::smart_ptr_traits< DELEGATE >::ref_type DELEGATE_REF_T; \
typedef typename ::dds::core::smart_ptr_traits< DELEGATE >::weak_ref_type DELEGATE_WEAK_REF_T; \
\
private:\
const typename ::dds::core::Reference< DELEGATE >::DELEGATE_REF_T& impl() const \
{ return ::dds::core::Reference< DELEGATE >::impl_; }\
typename ::dds::core::Reference< DELEGATE >::DELEGATE_REF_T& impl() \
{ return ::dds::core::Reference< DELEGATE >::impl_; }\
\
public:\
template <typename T__> \
TYPE& \
operator=(const T__& rhs) {\
if (this != (TYPE*)&rhs) \
*this = TYPE(rhs); \
return *this; \
}

Definition at line 101 of file refmacros.hpp.

#define OMG_DDS_REF_TYPE_DELEGATE_T (   TYPE,
  BASE,
  T_PARAM,
  DELEGATE 
)

Definition at line 124 of file refmacros.hpp.

#define OMG_DDS_REF_TYPE_NODC (   TYPE,
  BASE,
  DELEGATE 
)
Value:
OMG_DDS_REF_TYPE_DELEGATE(TYPE, BASE, DELEGATE) \
OMG_DDS_REF_TYPE_BASE(TYPE, BASE, DELEGATE) \
public:

Definition at line 149 of file refmacros.hpp.

#define OMG_DDS_REF_TYPE_NODC_T (   TYPE,
  BASE,
  T_PARAM,
  DELEGATE 
)
Value:
OMG_DDS_REF_TYPE_DELEGATE_T(TYPE, BASE, T_PARAM, DELEGATE) \
OMG_DDS_REF_TYPE_BASE_T(TYPE, BASE, T_PARAM, DELEGATE) \
public:

Definition at line 155 of file refmacros.hpp.

#define OMG_DDS_REF_TYPE_T (   TYPE,
  BASE,
  T_PARAM,
  DELEGATE 
)
Value:
OMG_DDS_REF_TYPE_NODC_T(TYPE, BASE, T_PARAM, DELEGATE) \
private: \
TYPE(); \
public: \
TYPE(const dds::core::null_type&) : BASE<T_PARAM, DELEGATE>(static_cast<DELEGATE<T_PARAM>* >(NULL)) { }

Definition at line 213 of file refmacros.hpp.