Changeset 369 for XIOS/trunk/src/declare_attribute.hpp
- Timestamp:
- 10/16/12 13:04:44 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/declare_attribute.hpp
r219 r369 5 5 6 6 #define DECLARE_ATTRIBUTE(type, name) \ 7 class name##att : public CAttributeTemplate<type>{ \ 7 class name##_attr : public CAttributeTemplate<type> \ 8 { \ 8 9 public : \ 9 name## att(void) \10 name##_attr(void) \ 10 11 : CAttributeTemplate<type> \ 11 12 (#name, *CAttributeMap::Current) \ … … 13 14 type operator=(const type & value) \ 14 15 { return (CAttributeTemplate<type>::operator=(value)); } \ 15 virtual ~name## att(void) \16 virtual ~name##_attr(void) \ 16 17 { /* Ne rien faire de plus */ } \ 17 18 } name; 18 19 19 #define DECLARE_ATTRIBUTE_DEF(type, name, def) \ 20 class name##att : public CAttributeTemplate<type>{ \ 21 public : \ 22 name##att(void) \ 23 : CAttributeTemplate<type> \ 24 (#name, def, *CAttributeMap::Current) \ 25 { /* Ne rien faire de plus */ } \ 26 type operator=(const type & value) \ 27 { return (CAttributeTemplate<type>::operator=(value)); } \ 28 virtual ~name##att(void) \ 29 { /* Ne rien faire de plus */ } \ 20 #define DECLARE_ARRAY(T_num, T_rank, name) \ 21 class name##_attr : public CAttributeArray<T_num, T_rank> \ 22 { \ 23 public : \ 24 name##_attr(void) : CAttributeArray<T_num, T_rank> (#name, *CAttributeMap::Current) {} \ 25 virtual ~name##_attr(void) {} \ 30 26 } name; 27 28 #define DECLARE_CLASS_ENUM(name) \ 29 class name##_attr : public CAttributeEnum<Enum_##name> \ 30 { \ 31 public : \ 32 name##_attr(void) : CAttributeEnum<Enum_##name>(#name, *CAttributeMap::Current) { } \ 33 virtual ~name##_attr(void) {} \ 34 } name; 35 36 #define DECLARE_ENUM2(name,arg1,arg2) \ 37 class Enum_##name \ 38 { \ 39 public: \ 40 enum t_enum { arg1=0, arg2} ; \ 41 const char** getStr(void) const { static const char * enumStr[] = { #arg1, #arg2 } ; return enumStr ; } \ 42 int getSize(void) const { return 2 ; } \ 43 } ; \ 44 DECLARE_CLASS_ENUM(name) 45 46 #define DECLARE_ENUM3(name,arg1,arg2,arg3) \ 47 class Enum_##name \ 48 { \ 49 public: \ 50 enum t_enum { arg1=0, arg2, arg3} ; \ 51 const char** getStr(void) const { static const char * enumStr[] = { #arg1, #arg2, #arg3 } ; return enumStr ; } \ 52 int getSize(void) const { return 3 ; } \ 53 } ; \ 54 DECLARE_CLASS_ENUM(name) 55 56 #define DECLARE_ENUM4(name,arg1,arg2,arg3,arg4) \ 57 class Enum_##name \ 58 { \ 59 public: \ 60 enum t_enum { arg1=0, arg2, arg3,arg4} ; \ 61 const char** getStr(void) const { static const char * enumStr[] = { #arg1, #arg2, #arg3,#arg4 } ; return enumStr ; } \ 62 int getSize(void) const { return 4 ; } \ 63 } ; \ 64 DECLARE_CLASS_ENUM(name) 65 66 #define DECLARE_ENUM5(name,arg1,arg2,arg3,arg4,arg5) \ 67 class Enum_##name \ 68 { \ 69 public: \ 70 enum t_enum { arg1=0, arg2, arg3,arg4,arg5} ; \ 71 const char** getStr(void) const { static const char * enumStr[] = { #arg1, #arg2, #arg3,#arg4,#arg5 } ; return enumStr ; } \ 72 int getSize(void) const { return 5 ; } \ 73 } ; \ 74 DECLARE_CLASS_ENUM(name) 75 76 #define DECLARE_ENUM6(name,arg1,arg2,arg3,arg4,arg5,arg6) \ 77 class Enum_##name \ 78 { \ 79 public: \ 80 enum t_enum { arg1=0, arg2, arg3,arg4,arg5,arg6} ; \ 81 const char** getStr(void) const { static const char * enumStr[] = { #arg1, #arg2, #arg3,#arg4,#arg5,#arg6 } ; return enumStr ; } \ 82 int getSize(void) const { return 6 ; } \ 83 } ; \ 84 DECLARE_CLASS_ENUM(name) 85 86 #define DECLARE_ENUM7(name,arg1,arg2,arg3,arg4,arg5,arg6,arg7) \ 87 class Enum_##name \ 88 { \ 89 public: \ 90 enum t_enum { arg1=0, arg2, arg3,arg4,arg5,arg6,arg7} ; \ 91 const char** getStr(void) const { static const char * enumStr[] = { #arg1, #arg2, #arg3,#arg4,#arg5,#arg6,#arg7 } ; return enumStr ; } \ 92 int getSize(void) const { return 7 ; } \ 93 } ; \ 94 DECLARE_CLASS_ENUM(name) 95 96 #define DECLARE_ENUM8(name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) \ 97 class Enum_##name \ 98 { \ 99 public: \ 100 enum t_enum { arg1=0, arg2, arg3,arg4,arg5,arg6,arg7,arg8} ; \ 101 const char** getStr(void) const { static const char * enumStr[] = { #arg1, #arg2, #arg3,#arg4,#arg5,#arg6,#arg7,#arg8 } ; return enumStr ; } \ 102 int getSize(void) const { return 8 ; } \ 103 } ; \ 104 DECLARE_CLASS_ENUM(name) 105 106 #define DECLARE_ENUM9(name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) \ 107 class Enum_##name \ 108 { \ 109 public: \ 110 enum t_enum { arg1=0, arg2, arg3,arg4,arg5,arg6,arg7,arg8,arg9} ; \ 111 const char** getStr(void) const { static const char * enumStr[] = { #arg1, #arg2, #arg3,#arg4,#arg5,#arg6,#arg7,#arg8,#arg9 } ; return enumStr ; } \ 112 int getSize(void) const { return 8 ; } \ 113 } ; \ 114 DECLARE_CLASS_ENUM(name) 115 31 116 32 117 #define BEGIN_DECLARE_ATTRIBUTE_MAP(type) \ 33 class type##Attributes : public virtual CAttributeMap { \ 118 class type##Attributes : public virtual CAttributeMap \ 119 { \ 34 120 public : 35 121
Note: See TracChangeset
for help on using the changeset viewer.