source: XIOS/trunk/src/type/type_util.hpp @ 313

Last change on this file since 313 was 313, checked in by ymipsl, 9 years ago

Fortran attribut interface are now automaticaly generated.
Add get attribut fonctionnality from fortran.

YM

File size: 1.3 KB
Line 
1#ifndef __TYPE_UTIL_HPP__
2#define __TYPE_UTIL_HPP__
3
4#include <string>
5namespace xmlioserver
6{
7  namespace tree
8  {
9    class CDomain ;
10    class CDomainGroup;
11    class CField;
12    class CFieldGroup;
13    class CGrid;
14    class CGridGroup;
15    class CAxis;
16    class CAxisGroup;
17    class CFile;
18    class CFileGroup;
19    class CContext;
20  }
21    typedef tree::CDomain CDomain;
22    typedef tree::CDomainGroup CDomainGroup;
23    typedef tree::CField CField;
24    typedef tree::CFieldGroup CFieldGroup;
25    typedef tree::CGrid CGrid;
26    typedef tree::CGridGroup CGridGroup;
27    typedef tree::CAxis CAxis;
28    typedef tree::CAxisGroup CAxisGroup;
29    typedef tree::CFile CFile;
30    typedef tree::CFileGroup CFileGroup;
31    typedef tree::CContext CContext;
32       
33  template <typename T>
34  inline string getStrType(void) ;
35   
36#define macro(T) template <> inline string getStrType<T>(void) { return std::string(#T) ; }
37
38  macro(short)
39  macro(unsigned short)
40  macro(int)
41  macro(unsigned int)
42  macro(long)
43  macro(unsigned long)
44  macro(float)
45  macro(double)
46  macro(long double)
47  macro(char)
48  macro(unsigned char)
49  macro(wchar_t)
50  macro(bool)
51  macro(CDomain)
52  macro(CDomainGroup)
53  macro(CField)
54  macro(CFieldGroup)
55  macro(CGrid)
56  macro(CGridGroup)
57  macro(CAxis)
58  macro(CAxisGroup)
59  macro(CFile)
60  macro(CFileGroup)
61  macro(CContext)
62 
63#undef macro
64
65}
66
67
68#endif
Note: See TracBrowser for help on using the repository browser.