Changeset 2019 for XIOS/dev/dev_trunk_graph/src/attribute_array.hpp
- Timestamp:
- 01/22/21 12:00:29 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_trunk_graph/src/attribute_array.hpp
r1686 r2019 21 21 { 22 22 public : 23 24 using CArray<T_numtype,N_rank>::operator = ; 23 using CArray<T_numtype,N_rank>::operator = ; 25 24 26 25 /// Constructeurs /// … … 56 55 virtual bool fromBuffer(CBufferIn& buffer) { return _fromBuffer(buffer); } 57 56 virtual string dump(void) const { return _dump();} 58 virtual string dump 4graph(void) const { return _dump4graph();}57 virtual string dumpGraph(void) const { return _dumpGraph();} 59 58 60 59 virtual void generateCInterface(ostream& oss,const string& className) ; … … 66 65 virtual void generateFortranInterfaceGetBody_(ostream& oss,const string& className) ; 67 66 virtual void generateFortranInterfaceGetDeclaration(ostream& oss,const string& className) ; 67 68 static int show_TV_ttf_display_type ( const CAttributeArray<T_numtype,N_rank>* array ) 69 { 70 int status ; 71 if (array->isEmpty()) 72 { 73 status = TV_ttf_add_row("State", TV_ttf_type_ascii_string,"(empty)") ; 74 if (status != TV_ttf_ec_ok) return TV_ttf_format_raw ; 75 else return TV_ttf_format_ok_elide ; 76 } 77 else 78 { 79 char tname[128] ; 80 char bname[128] = "value_type" ; 81 #ifdef __GNUC__ 82 size_t size = sizeof(bname) ; 83 abi::__cxa_demangle(typeid(T_numtype).name(), bname, &size, &status) ; 84 if (status !=0) return TV_ttf_format_raw ; 85 #endif 86 int dim = array->dimensions() ; 87 if (dim==1) snprintf (tname, sizeof(tname), "%s[%d]", bname, array->extent(0)); 88 if (dim==2) snprintf (tname, sizeof(tname), "%s[%d][%d]", bname, array->extent(1), array->extent(0)); 89 if (dim==3) snprintf (tname, sizeof(tname), "%s[%d][%d][%d]", bname, array->extent(2), array->extent(1), array->extent(3)); 90 if (dim==4) snprintf (tname, sizeof(tname), "%s[%d][%d][%d][%d]", bname, array->extent(0), array->extent(1), array->extent(2), array->extent(3)); 91 if (dim==5) snprintf (tname, sizeof(tname), "%s[%d][%d][%d][%d][%d]", bname, array->extent(4), array->extent(3), array->extent(2), array->extent(1) 92 ,array->extent(0)); 93 if (dim==6) snprintf (tname, sizeof(tname), "%s[%d][%d][%d][%d][%d][%d]", bname, array->extent(5), array->extent(4), array->extent(3), array->extent(2) 94 ,array->extent(1),array->extent(0)); 95 if (dim==7) snprintf (tname, sizeof(tname), "%s[%d][%d][%d][%d][%d][%d][%d]", bname, array->extent(6), array->extent(5), array->extent(4), array->extent(3) 96 ,array->extent(2),array->extent(1),array->extent(0)); 97 status = TV_ttf_add_row("array_values", tname, array->dataFirst()) ; 98 if (status != TV_ttf_ec_ok) return TV_ttf_format_raw ; 99 else return TV_ttf_format_ok ; 100 } 101 } 102 103 104 static int TV_ttf_display_type ( const CAttributeArray<T_numtype,N_rank>* array ) 105 { 106 return CAttributeArray<T_numtype,N_rank>::show_TV_ttf_display_type (array) ; 107 } 68 108 69 109 private : … … 72 112 StdString _toString(void) const; 73 113 StdString _dump(void) const; 74 StdString _dump 4graph(void) const;114 StdString _dumpGraph(void) const; 75 115 void _fromString(const StdString & str); 76 116 bool _toBuffer (CBufferOut& buffer) const; 77 117 bool _fromBuffer(CBufferIn& buffer) ; 78 118 }; // class CAttributeEnum 119 120 121 #define macrotyperank(_TYPE_,_RANK_)\ 122 template<> int CAttributeArray<_TYPE_,_RANK_>::TV_ttf_display_type(const CAttributeArray<_TYPE_,_RANK_>* array ) \ 123 {\ 124 return CAttributeArray<_TYPE_,_RANK_>::show_TV_ttf_display_type (array) ;\ 125 } 126 127 #define macrotype(_TYPE_)\ 128 macrotyperank(_TYPE_,1)\ 129 macrotyperank(_TYPE_,2)\ 130 macrotyperank(_TYPE_,3)\ 131 macrotyperank(_TYPE_,4)\ 132 macrotyperank(_TYPE_,5)\ 133 macrotyperank(_TYPE_,6)\ 134 macrotyperank(_TYPE_,7) 135 136 macrotype(double) 137 macrotype(int) 138 macrotype(bool) 139 macrotype(size_t) 140 macrotype(float) 141 macrotype(string) 142 143 #undef macrotyperank 144 #undef macrotype 79 145 } // namespace xios 80 146
Note: See TracChangeset
for help on using the changeset viewer.