Changeset 2120 for XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array.hpp
- Timestamp:
- 03/30/21 17:11:36 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array.hpp
r2118 r2120 65 65 virtual void generateFortranInterfaceGetDeclaration(ostream& oss,const string& className) ; 66 66 67 static int show_TV_ttf_display_type ( const CAttributeArray<T_numtype,N_rank>* array )68 {69 int status ;70 if (array->isEmpty())71 {72 status = TV_ttf_add_row("State", TV_ttf_type_ascii_string,"(empty)") ;73 if (status != TV_ttf_ec_ok) return TV_ttf_format_raw ;74 else return TV_ttf_format_ok_elide ;75 }76 else77 {78 char tname[128] ;79 char bname[128] = "value_type" ;80 #ifdef __GNUC__81 size_t size = sizeof(bname) ;82 abi::__cxa_demangle(typeid(T_numtype).name(), bname, &size, &status) ;83 if (status !=0) return TV_ttf_format_raw ;84 #endif85 int dim = array->dimensions() ;86 if (dim==1) snprintf (tname, sizeof(tname), "%s[%d]", bname, array->extent(0));87 if (dim==2) snprintf (tname, sizeof(tname), "%s[%d][%d]", bname, array->extent(1), array->extent(0));88 if (dim==3) snprintf (tname, sizeof(tname), "%s[%d][%d][%d]", bname, array->extent(2), array->extent(1), array->extent(3));89 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));90 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)91 ,array->extent(0));92 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)93 ,array->extent(1),array->extent(0));94 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)95 ,array->extent(2),array->extent(1),array->extent(0));96 status = TV_ttf_add_row("array_values", tname, array->dataFirst()) ;97 if (status != TV_ttf_ec_ok) return TV_ttf_format_raw ;98 else return TV_ttf_format_ok ;99 }100 }101 102 103 static int TV_ttf_display_type ( const CAttributeArray<T_numtype,N_rank>* array )104 {105 return CAttributeArray<T_numtype,N_rank>::show_TV_ttf_display_type (array) ;106 }107 108 67 private : 109 68 bool isEqual_(const CAttributeArray& attr); … … 117 76 118 77 119 #define macrotyperank(_TYPE_,_RANK_)\120 template<> int CAttributeArray<_TYPE_,_RANK_>::TV_ttf_display_type(const CAttributeArray<_TYPE_,_RANK_>* array );121 122 #define macrotype(_TYPE_)\123 macrotyperank(_TYPE_,1)\124 macrotyperank(_TYPE_,2)\125 macrotyperank(_TYPE_,3)\126 macrotyperank(_TYPE_,4)\127 macrotyperank(_TYPE_,5)\128 macrotyperank(_TYPE_,6)\129 macrotyperank(_TYPE_,7)130 131 macrotype(double)132 macrotype(int)133 macrotype(bool)134 macrotype(size_t)135 macrotype(float)136 macrotype(string)137 138 #undef macrotyperank139 #undef macrotype140 78 } // namespace xios 141 79
Note: See TracChangeset
for help on using the changeset viewer.