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

Last change on this file since 313 was 313, checked in by ymipsl, 12 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.