⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tdc_base.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 5 页
字号:
	union \
	{\
		T_VAR value;\
		T_TDC_BASIC_TYPES value_as_basic_types;\
	};\
	virtual char* get_name () const\
	{\
    extern char* TDC_NAME_##SHORT_NAME;\
    return TDC_NAME_##SHORT_NAME;\
	}\
	virtual int get_tap_handle ()\
	{\
		/*TODO: move this function to var base class\
    return implement_get_value ();*/\
		assert (action & TDC_ACTION_HAS_VALUE);\
		return value;\
	}\
	T_DESCRIPTOR ():\
		/*value (0),*/\
		action (TDC_ACTION_DEFAULT)\
	{\
	}\
	virtual unsigned get_sizeof_target ()\
	{\
		return sizeof T_VAR;\
	}\
	static T_TDC_HANDLE_BASE* implement_new_handle ()\
	{\
		return  new_##T_DESCRIPTOR();\
	}\

//-----

#define M_TDC_DESCRIPTOR_INT_ADDITIONAL(SHORT_NAME)\
	M_TDC_DESCRIPTOR_ADDITIONAL_VAR (T_TDC_DESCRIPTOR_##SHORT_NAME, T_TDC_INT_##SHORT_NAME,SHORT_NAME)\
	virtual T_TDC_IS_ENUM is ()\
	{\
		return TDC_IS_VAR;\
	}\

//-----

#define M_TDC_DESCRIPTOR_PRIM_ADDITIONAL(SHORT_NAME)\
	M_TDC_DESCRIPTOR_ADDITIONAL_STRUCT_BASE (SHORT_NAME)\
		virtual int get_id () const\
		{\
			return SHORT_NAME;\
		}\

#define M_TDC_DESCRIPTOR_PSTRUCT_ADDITIONAL(SHORT_NAME)\
	M_TDC_DESCRIPTOR_ADDITIONAL_STRUCT_BASE (SHORT_NAME)\

#define M_TDC_DESCRIPTOR_PUNION_ADDITIONAL(SHORT_NAME)\
	M_TDC_DESCRIPTOR_ADDITIONAL_UNION_BASE (SHORT_NAME,TDC_TABLE_KIND_PRIM)\

#define M_TDC_DESCRIPTOR_SDU_ADDITIONAL(SHORT_NAME)\
	M_TDC_DESCRIPTOR_ADDITIONAL_UNION_BASE (SHORT_NAME,TDC_TABLE_KIND_PRIM)\

#define M_TDC_DESCRIPTOR_PENUM_ADDITIONAL(SHORT_NAME)\
	M_TDC_DESCRIPTOR_ADDITIONAL_VAR (T_TDC_DESCRIPTOR_##SHORT_NAME, T_TDC_ENUM_##SHORT_NAME,SHORT_NAME)\
	friend T_TDC_HANDLE_BASE* new_T_TDC_DESCRIPTOR_##SHORT_NAME ();\
	/*{\
		return new T_TDC_DESCRIPTOR_##SHORT_NAME;\
	}*/\

//-----

#define M_TDC_DESCRIPTOR_MSG_ADDITIONAL(SHORT_NAME)\
	M_TDC_DESCRIPTOR_ADDITIONAL_STRUCT_BASE (SHORT_NAME)\
		virtual int get_id () const\
		{\
			return SHORT_NAME;\
		}\

#define M_TDC_DESCRIPTOR_MSTRUCT_ADDITIONAL(SHORT_NAME)\
	M_TDC_DESCRIPTOR_ADDITIONAL_STRUCT_BASE (SHORT_NAME)\

#define M_TDC_DESCRIPTOR_MUNION_ADDITIONAL(SHORT_NAME)\
	M_TDC_DESCRIPTOR_ADDITIONAL_UNION_BASE (SHORT_NAME,TDC_TABLE_KIND_MSG)\

#define M_TDC_DESCRIPTOR_MENUM_ADDITIONAL(SHORT_NAME)\
	M_TDC_DESCRIPTOR_ADDITIONAL_VAR (T_TDC_DESCRIPTOR_##SHORT_NAME, T_TDC_ENUM_##SHORT_NAME,SHORT_NAME)\
	friend T_TDC_HANDLE_BASE* new_T_TDC_DESCRIPTOR_##SHORT_NAME ();\
	/*{\
		return new T_TDC_DESCRIPTOR_##SHORT_NAME;\
	}*/\

//-----

#define M_TDC_DESCRIPTOR_XXX_PRIMITIVE_UNION_ADDITIONAL(SAP)\
	M_TDC_DESCRIPTOR_ADDITIONAL_MAIN_BASE (SAP)\

#define M_TDC_DESCRIPTOR_XXX_MESSAGE_UNION_ADDITIONAL(MSG)\
	M_TDC_DESCRIPTOR_ADDITIONAL_MAIN_BASE (MSG)\
		virtual int get_id () const\
		{\
			return CCDENT_##MSG;\
		}\

#define M_TDC_CREATE_DEFAULT_DESCRIPTOR_CLASS(SHORT_NAME, TDC_IS)\
	M_TDC_HANDLE(M_TDC_IN_CLASS,M_TDC_WITH_BODY,SHORT_NAME,TDC_IS)\
	T_TDC_HANDLE_BASE* new_T_TDC_HANDLE_##SHORT_NAME();\

#define M_TDC_CREATE_DEFAULT_PRIMITIVE_DESCRIPTOR_CLASS(SAP)\
	M_TDC_CREATE_DEFAULT_DESCRIPTOR_CLASS(SAP##_PRIMITIVE_UNION,TDC_IS_XXX_PRIMITIVE_UNION)\

#define M_TDC_CREATE_DEFAULT__T_TDC_HANDLE_XXX_PRIMITIVE_UNION(SAP,CCDSAP)\
  /*enum { CCDSAP_##SAP = CCDSAP };*/\
  M_TDC_CREATE_DEFAULT_PRIMITIVE_DESCRIPTOR_CLASS(SAP)

#define M_TDC_DESCRIPTOR_PRIMITIVE_ADDITIONAL()\
	M_TDC_DESCRIPTOR_ADDITIONAL_MAIN_BASE (PRIMITIVE_UNION)\

#define M_TDC_CREATE_DEFAULT_MESSAGE_DESCRIPTOR_CLASS(MSG)\
	M_TDC_CREATE_DEFAULT_DESCRIPTOR_CLASS(MSG##_MESSAGE_UNION,TDC_IS_XXX_MESSAGE_UNION)\
	enum { CCDENT_##MSG##_MESSAGE_UNION	= CCDENT_##MSG };\

#define M_TDC_CREATE_DEFAULT__T_TDC_HANDLE_XXX_MESSAGE_UNION(MSG,CCDENT)\
  /*enum { CCDENT_##MSG = CCDENT };*/\
  M_TDC_CREATE_DEFAULT_MESSAGE_DESCRIPTOR_CLASS(MSG)

#define M_TDC_DESCRIPTOR_MESSAGE_ADDITIONAL()\
	M_TDC_DESCRIPTOR_ADDITIONAL_MAIN_BASE (MESSAGE_UNION)\

//============================================================================

#if TDC_DEBUG_DOT_COMPLETE
void F_TDC_DEBUG_DOT_COMPLETE__TDC_H_1H()
{
  T_TDC_DEBUG_DOT_COMPLETE__TDC_H_1 s;
  s.
    i;
}
#else
#endif

//----------------------------------------------------------------------------
// macros to repeat stuff that is similar in many inteface classes 
//----------------------------------------------------------------------------

#define M_TDC_ADDITIONAL_CALL_FUNCTION_BASE(IN_CLASS, WITH_BODY, T_SCOPE,T_RETURN,T_ARG)\
		/*T_RETURN operator = (T_ARG (*f) ())*/\
    void T_SCOPE::operator = (T_ARG (*f) ())\
		WITH_BODY({\
			T_ARG value_ = f ();\
			set_value (value_);\
			/*return *this;*/\
		})\
		/*T_RETURN operator = (void (*f) (T_ARG))*/\
    void T_SCOPE::operator = (void (*f) (T_ARG))\
		WITH_BODY({\
			T_ARG value_;\
			f (value_);\
			set_value (value_);\
		})\

#define M_TDC_INTERFACE_ADDITIONAL_BASE(IN_CLASS, WITH_BODY, T_INTERFACE, T_INSTANCE_, T_HANDLE)\
		IN_CLASS(typedef T_INSTANCE_ T_INSTANCE;)\
		IN_CLASS(friend struct T_INSTANCE_;)\
	IN_CLASS(private:)\
		void T_INTERFACE::set_value (const T_INSTANCE_& value_)\
		WITH_BODY({\
			copy_instance ((const T_TDC_INSTANCE_BASE*)&value_);\
		})\
	IN_CLASS(explicit) T_INTERFACE::T_INTERFACE (const T_INTERFACE& value_)\
		WITH_BODY({\
			copy_interface (&value_);\
		})\
	IN_CLASS(public:)\
		/*T_TDC_ACTION operator = (const T_TDC_ACTION& action_)*/\
    void T_INTERFACE::operator = (const T_TDC_ACTION& action_)\
		WITH_BODY({\
			set_action (action_);\
		})\
		void T_INTERFACE::operator = (const T_INTERFACE& value_)\
		WITH_BODY({\
			copy_interface (&value_);\
		})\
		T_INSTANCE_ T_INTERFACE::operator = (const T_INSTANCE_& value_)\
		WITH_BODY({\
			copy_instance (&value_);\
			return value_;\
		})\
		IN_CLASS(static) T_TDC_HANDLE_BASE* T_INTERFACE::implement_new_handle ()\
		WITH_BODY({\
			return  new_##T_HANDLE();\
		})\
	  IN_CLASS(friend) T_TDC_INTERFACE_BASE* new_##T_INTERFACE()\
	  WITH_BODY({\
		  return new T_INTERFACE;\
	  })\
		M_TDC_ADDITIONAL_CALL_FUNCTION_BASE(IN_CLASS, WITH_BODY, T_INTERFACE,T_INSTANCE,T_INSTANCE)\

#define M_TDC_INTERFACE_ADDITIONAL_MAIN(IN_CLASS, WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME, BASE)\
  public:\
    void operator = (const T_TDC_INTERFACE_##BASE##_BASE& value_)\
    {\
      set_main_value (&value_);\
    }\
    void operator = (const T_TDC_INSTANCE_##BASE##_BASE& value_)\
    {\
      set_main_value (&value_);\
    }\
    T_TDC_INTERFACE_##PREFIXED_SHORT_NAME ()\
    {\
      tdc_level--;\
    }\
    M_TDC_INTERFACE_ADDITIONAL_BASE (IN_CLASS, WITH_BODY, T_TDC_INTERFACE_##PREFIXED_SHORT_NAME, T_##SHORT_NAME, T_TDC_HANDLE_##PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_ADDITIONAL_COMP(IN_CLASS, WITH_BODY, SHORT_NAME, PREFIXED_SHORT_NAME)\
  public:\
    T_TDC_INTERFACE_##PREFIXED_SHORT_NAME ()\
    {\
      tdc_level--;\
    }\
    M_TDC_INTERFACE_ADDITIONAL_BASE (IN_CLASS, WITH_BODY, T_TDC_INTERFACE_##PREFIXED_SHORT_NAME, T_##SHORT_NAME, T_TDC_HANDLE_##PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_ADDITIONAL_VAR(IN_CLASS, WITH_BODY, SHORT_NAME, PREFIXED_SHORT_NAME)\
  public:\
    T_TDC_INTERFACE_##PREFIXED_SHORT_NAME ()\
    {\
    }\
    M_TDC_INTERFACE_ADDITIONAL_BASE (IN_CLASS, WITH_BODY, T_TDC_INTERFACE_##PREFIXED_SHORT_NAME, T_##SHORT_NAME, T_TDC_HANDLE_##PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_INT_ADDITIONAL(SHORT_NAME)\
  public:\
    void operator = (int value_)\
    {\
      set_descriptor_value (value_);\
    }\
    M_TDC_INTERFACE_ADDITIONAL_VAR (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME, SHORT_NAME)\

#define M_TDC_INTERFACE_ADDITIONAL_ENUM(IN_CLASS, WITH_BODY, SHORT_NAME, PREFIXED_SHORT_NAME)\
  public:\
    void set_value (T_TDC_ENUM_##PREFIXED_SHORT_NAME value_)\
    {\
      set_descriptor_value (value_);\
    }\
    void operator = (int value_)\
    {\
      /*TBD;CSH CSH*/\
      set_descriptor_value (value_);\
    }\
    M_TDC_INTERFACE_ADDITIONAL_VAR (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME, PREFIXED_SHORT_NAME)\

#define M_TDC_INTERFACE_ADDITIONAL_MAIN_CALL(IN_CLASS, WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME,T_ARG)\
	T_##SHORT_NAME operator = (const T_ARG& value_)\
	{\
		set_value (value_);\
		return value_;\
	}\
	/*M_TDC_ADDITIONAL_CALL_FUNCTION_BASE (T_##SHORT_NAME, T_ARG)*/\

//-----

#define M_TDC_INTERFACE_PRIM_ADDITIONAL(SHORT_NAME,PREFIXED_SHORT_NAME)\
  M_TDC_INTERFACE_ADDITIONAL_MAIN (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME,PREFIXED_SHORT_NAME, PRIMITIVE)\
  M_TDC_INTERFACE_ADDITIONAL_MAIN_CALL (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME,PREFIXED_SHORT_NAME, T_PRIMITIVE_UNION)\

#define M_TDC_INTERFACE_PSTRUCT_ADDITIONAL(SHORT_NAME,PREFIXED_SHORT_NAME)\
  M_TDC_INTERFACE_ADDITIONAL_COMP (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_PUNION_ADDITIONAL(SHORT_NAME,PREFIXED_SHORT_NAME)\
  M_TDC_INTERFACE_ADDITIONAL_COMP (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_PENUM_ADDITIONAL(SHORT_NAME,PREFIXED_SHORT_NAME)\
  M_TDC_INTERFACE_ADDITIONAL_ENUM (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

//-----

#define M_TDC_INTERFACE_MSG_ADDITIONAL(SHORT_NAME,PREFIXED_SHORT_NAME)\
  M_TDC_INTERFACE_ADDITIONAL_MAIN (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME,PREFIXED_SHORT_NAME, MESSAGE)\
  M_TDC_INTERFACE_ADDITIONAL_MAIN_CALL (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME,PREFIXED_SHORT_NAME, T_MESSAGE_UNION)\

#define M_TDC_INTERFACE_MSTRUCT_ADDITIONAL(SHORT_NAME,PREFIXED_SHORT_NAME)\
  M_TDC_INTERFACE_ADDITIONAL_COMP (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_MUNION_ADDITIONAL(SHORT_NAME,PREFIXED_SHORT_NAME)\
  M_TDC_INTERFACE_ADDITIONAL_COMP (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_MENUM_ADDITIONAL(SHORT_NAME,PREFIXED_SHORT_NAME)\
  M_TDC_INTERFACE_ADDITIONAL_ENUM (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

//-----

#define M_TDC_INTERFACE_PRIM_ADDITIONAL_INLINE(SHORT_NAME,PREFIXED_SHORT_NAME)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME, PRIMITIVE)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN_CALL (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME, T_PRIMITIVE_UNION)\

#define M_TDC_INTERFACE_PSTRUCT_ADDITIONAL_INLINE(SHORT_NAME,PREFIXED_SHORT_NAME)\
	M_TDC_INTERFACE_ADDITIONAL_COMP (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_PUNION_ADDITIONAL_INLINE(SHORT_NAME,PREFIXED_SHORT_NAME)\
	M_TDC_INTERFACE_ADDITIONAL_COMP (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_SDU_ADDITIONAL_INLINE(SHORT_NAME)\
	M_TDC_INTERFACE_ADDITIONAL_COMP (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,SHORT_NAME)

#define M_TDC_INTERFACE_PENUM_ADDITIONAL_INLINE(SHORT_NAME,PREFIXED_SHORT_NAME)\
	M_TDC_INTERFACE_ADDITIONAL_ENUM (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

//-----

#define M_TDC_INTERFACE_MSG_ADDITIONAL_INLINE(SHORT_NAME,PREFIXED_SHORT_NAME)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME, MESSAGE)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN_CALL (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME, T_MESSAGE_UNION)\

#define M_TDC_INTERFACE_MSTRUCT_ADDITIONAL_INLINE(SHORT_NAME,PREFIXED_SHORT_NAME)\
	M_TDC_INTERFACE_ADDITIONAL_COMP (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_MUNION_ADDITIONAL_INLINE(SHORT_NAME,PREFIXED_SHORT_NAME)\
	M_TDC_INTERFACE_ADDITIONAL_COMP (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

#define M_TDC_INTERFACE_MENUM_ADDITIONAL_INLINE(SHORT_NAME,PREFIXED_SHORT_NAME)\
	M_TDC_INTERFACE_ADDITIONAL_ENUM (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SHORT_NAME,PREFIXED_SHORT_NAME)

//-----

#define M_TDC_INTERFACE_XXX_PRIMITIVE_UNION_ADDITIONAL(SAP,PREFIXED_SAP)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SAP,PREFIXED_SAP, PRIMITIVE)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN_CALL (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, SAP,PREFIXED_SAP, T_PRIMITIVE_UNION)\
	private:\
		T_TDC_INTERFACE_##SAP (const T_TDC_INTERFACE_PRIMITIVE_BASE& primitive)\
		{\
			TBD;\
		}\
	public:\

#define M_TDC_INTERFACE_XXX_PRIMITIVE_UNION_ADDITIONAL_INLINE(SAP,PREFIXED_SAP)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SAP,PREFIXED_SAP, PRIMITIVE)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN_CALL (M_TDC_IN_CLASS, M_TDC_WITH_BODY, SAP,PREFIXED_SAP, T_PRIMITIVE_UNION)\
	private:\
		T_TDC_INTERFACE_##SAP (const T_TDC_INTERFACE_PRIMITIVE_BASE& primitive)\
		{\
			TBD;\
		}\
	public:\

#define M_TDC_INTERFACE_XXX_MESSAGE_UNION_ADDITIONAL(MSG,PREFIXED_MSG)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, MSG, PREFIXED_MSG, MESSAGE)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN_CALL (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, MSG, PREFIXED_MSG, T_MESSAGE_UNION)\
	private:\
		T_TDC_INTERFACE_##MSG (const T_TDC_INTERFACE_MESSAGE_BASE& message)\
		{\
			TBD;\
		}\
	public:\

#define M_TDC_INTERFACE_XXX_MESSAGE_UNION_ADDITIONAL_INLINE(MSG,PREFIXED_MSG)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN (M_TDC_IN_CLASS, M_TDC_WITH_BODY, MSG, PREFIXED_MSG, MESSAGE)\
	M_TDC_INTERFACE_ADDITIONAL_MAIN_CALL (M_TDC_IN_CLASS, M_TDC_WITH_BODY, MSG, PREFIXED_MSG, T_MESSAGE_UNION)\
	private:\
		T_TDC_INTERFACE_##MSG (const T_TDC_INTERFACE_MESSAGE_BASE& message)\
		{\
			TBD;\
		}\
	public:\

#define M_TDC_CREATE_DEFAULT_INTERFACE_CLASS(SHORT_NAME)\
	struct T_TDC_INTERFACE_##SHORT_NAME;\
	struct T_TDC_HANDLE_##SHORT_NAME;\

#define M_TDC_CREATE_DEFAULT_PRIMITIVE_INTERFACE_CLASS(SAP)\
  M_TDC_CREATE_DEFAULT_INTERFACE_CLASS(SAP##_PRIMITIVE_UNION)\

#define M_TDC_CREATE_DEFAULT__T_TDC_INTERFACE_XXX_PRIMITIVE_UNION(SAP,CCDSAP)\
  enum { CCDSAP_##SAP = CCDSAP };\
  M_TDC_CREATE_DEFAULT_PRIMITIVE_INTERFACE_CLASS(SAP)

#define M_TDC_INTERFACE_PRIMITIVE_ADDITIONAL()\
	M_TDC_INTERFACE_ADDITIONAL_MAIN (M_TDC_IN_CLASS, M_TDC_WITHOUT_BODY, PRIMITIVE_UNION, PRIMITIVE_UNION, PRIMITIVE)\
	private:\
		T_TDC_INTERFACE_PRIMITIVE_UNION (const T_TDC_INTERFACE_PRIMITIVE_BASE& primitive)\
		{\
			TBD;\
		}\
	public:\

#define M_TDC_INTERFACE_PRIMITIVE_ELEMENT_ADDITIONAL(SAP)\
	/*nothing*/

#define M_TDC_CREATE_DEFAULT_MESSAGE_INTERFACE_CLASS(MSG)\
  M_TDC_CREATE_DEFAULT_INTERFACE_CLASS(MSG##_MESSAGE_UNION)\

#define M_TDC_CREATE_DEFAULT__T_TDC_INTERFACE_XXX_MESSAGE_UNION(MSG,CCDENT)\
  enum { CCDENT_##MSG = CCDENT };\
  M_TDC_CREATE_DEFAULT_MESSAGE_INTERFACE_CLASS(MSG)

#define M_TDC_INTERFACE_MESSAGE_ADDITIONAL()\

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -