source: XMLIO_V2/dev/trunk/src/XMLIO/base_attribut.hpp @ 79

Last change on this file since 79 was 79, checked in by ymipsl, 14 years ago

import dev/trunk

File size: 3.7 KB
Line 
1#ifndef BASE_ATTRIBUT_HPP
2#define BASE_ATTRIBUT_HPP
3#include "xmlio_std.hpp"
4
5class CBaseAttribut
6{
7  public:
8 
9  virtual const char * getName(void) const = 0  ;
10     
11  virtual ostream & print(ostream& o) const = 0  ;
12 
13  friend ostream& operator <<(ostream& o,const CBaseAttribut& Attr)
14  {
15    return Attr.print(o) ;
16  }
17
18 
19  virtual void setValue(const int & value)          { error_set() ; }
20  virtual void setValue(const Array<int,1>& value)  { error_set() ; }
21  virtual void setValue(const Array<int,2>& value)  { error_set() ; }
22  virtual void setValue(const Array<int,3>& value)  { error_set() ; }
23 
24  virtual void setValue(const double & value)          { error_set() ; }
25  virtual void setValue(const Array<double,1>& value)  { error_set() ; }
26  virtual void setValue(const Array<double,2>& value)  { error_set() ; }
27  virtual void setValue(const Array<double,3>& value)  { error_set() ; }
28 
29  virtual void setValue(const bool & value)          { error_set() ; }
30  virtual void setValue(const Array<bool,1>& value)  { error_set() ; }
31  virtual void setValue(const Array<bool,2>& value)  { error_set() ; }
32  virtual void setValue(const Array<bool,3>& value)  { error_set() ; }
33 
34  virtual void setValue(const char * value)            { error_set() ; }
35  virtual void setValue(const string & value)          { error_set() ; }
36  virtual void setValue(const Array<string,1>& value)  { error_set() ; }
37  virtual void setValue(const Array<string,2>& value)  { error_set() ; }
38  virtual void setValue(const Array<string,3>& value)  { error_set() ; }
39 
40  virtual void setValue(const char & value)          { error_set() ; }
41  virtual void setValue(const Array<char,1>& value)  { error_set() ; }
42  virtual void setValue(const Array<char,2>& value)  { error_set() ; }
43  virtual void setValue(const Array<char,3>& value)  { error_set() ; }
44
45
46  virtual void getValue(int & value) const        { error_get() ; }
47  virtual void getValue(Array<int,1>& value) const  { error_get() ; }
48  virtual void getValue(Array<int,2>& value) const  { error_get() ; }
49  virtual void getValue(Array<int,3>& value) const  { error_get() ; }
50 
51  virtual void getValue(double & value) const          { error_get() ; }
52  virtual void getValue(Array<double,1>& value) const  { error_get() ; }
53  virtual void getValue(Array<double,2>& value) const  { error_get() ; }
54  virtual void getValue(Array<double,3>& value) const  { error_get() ; }
55 
56  virtual void getValue(bool & value) const          { error_get() ; }
57  virtual void getValue(Array<bool,1>& value) const  { error_get() ; }
58  virtual void getValue(Array<bool,2>& value) const  { error_get() ; }
59  virtual void getValue(Array<bool,3>& value) const  { error_get() ; }
60 
61  virtual void getValue(char * value) const            { error_get() ; }
62  virtual void getValue(string & value) const          { error_get() ; }
63  virtual void getValue(Array<string,1>& value) const  { error_get() ; }
64  virtual void getValue(Array<string,2>& value) const  { error_get() ; }
65  virtual void getValue(Array<string,3>& value) const  { error_get() ; }
66 
67  virtual void getValue(char & value) const          { error_get() ; }
68  virtual void getValue(Array<char,1>& value) const  { error_get() ; }
69  virtual void getValue(Array<char,2>& value) const  { error_get() ; }
70  virtual void getValue(Array<char,3>& value) const  { error_get() ; }
71
72  static void error_set(void)
73  {
74     error("CBaseAttribut::set<type>")<<"Setting value type is incompatible"
75                                      <<" with attribut type"<<endl ;
76  }
77
78  static void error_get(void)
79  {
80     error("CBaseAttribut::set<type>")<<"Getting value type is incompatible"
81                                      <<" with attribut type"<<endl ;
82  }
83} ;
84
85#endif
86 
Note: See TracBrowser for help on using the repository browser.