Changeset 104 for XMLIO_V2/dev/dev_rv/src/XMLIO/base_attribut.hpp
- Timestamp:
- 06/07/10 18:34:17 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src/XMLIO/base_attribut.hpp
r98 r104 6 6 7 7 8 using XMLIOSERVER::XMLIOIncompatib eTypeException;8 using XMLIOSERVER::XMLIOIncompatibleTypeException; 9 9 10 10 namespace XMLIOSERVER … … 12 12 class BaseAttribut 13 13 { 14 public:14 public: 15 15 16 virtual const char * getName(void) const = 0 ; 17 18 virtual ostream & print(ostream& o) const = 0 ; 16 virtual const char * getName(void) const = 0 ; 17 virtual ostream & print(ostream& o) const = 0 ; 19 18 20 friend ostream& operator <<(ostream& o,const BaseAttribut& Attr) 21 {return Attr.print(o) ; } 19 friend ostream& operator <<(ostream& o,const BaseAttribut& Attr) 20 {return Attr.print(o) ; } 21 22 virtual void assignValue(const BaseAttribut*) = 0; 22 23 23 virtual const char * getId(void) {return getName();} ;24 bool hasId(void){return (true);}24 virtual const char * getId(void) {return getName();} ; 25 bool hasId(void){return (true);} 25 26 26 virtual void setFromString(const std::string str) = 0; 27 virtual void setFromString(const std::string str) = 0; 28 29 #define SETTER_AND_GETTER(TYPE) \ 30 virtual void setValue(const TYPE & value) { error_set() ; }\ 31 virtual void setValue(const Array<TYPE,1>& value) { error_set() ; }\ 32 virtual void setValue(const Array<TYPE,2>& value) { error_set() ; }\ 33 virtual void setValue(const Array<TYPE,3>& value) { error_set() ; }\ 34 virtual void getValue(TYPE & value) const { error_get() ; }\ 35 virtual void getValue(Array<TYPE,1>& value) const { error_get() ; }\ 36 virtual void getValue(Array<TYPE,2>& value) const { error_get() ; }\ 37 virtual void getValue(Array<TYPE,3>& value) const { error_get() ; } 38 39 SETTER_AND_GETTER(int) 40 SETTER_AND_GETTER(bool) 41 SETTER_AND_GETTER(double) 42 SETTER_AND_GETTER(char) 43 SETTER_AND_GETTER(string) 27 44 28 virtual void setValue(const int & value) { error_set() ; } 29 virtual void setValue(const Array<int,1>& value) { error_set() ; } 30 virtual void setValue(const Array<int,2>& value) { error_set() ; } 31 virtual void setValue(const Array<int,3>& value) { error_set() ; } 45 #undef SETTER_AND_GETTER 46 47 48 virtual bool _hasValue() = 0; 49 50 static void error_set(void) 51 { throw XMLIOIncompatibleTypeException("BaseAttribut::set<type> > Setting value type is incompatible with attribut type"); } 52 53 static void error_get(void) 54 { throw XMLIOIncompatibleTypeException("BaseAttribut::set<type> >Getting value type is incompatible with attribut type"); } 32 55 33 virtual void setValue(const double & value) { error_set() ; }34 virtual void setValue(const Array<double,1>& value) { error_set() ; }35 virtual void setValue(const Array<double,2>& value) { error_set() ; }36 virtual void setValue(const Array<double,3>& value) { error_set() ; }37 38 virtual void setValue(const bool & value) { error_set() ; }39 virtual void setValue(const Array<bool,1>& value) { error_set() ; }40 virtual void setValue(const Array<bool,2>& value) { error_set() ; }41 virtual void setValue(const Array<bool,3>& value) { error_set() ; }42 43 virtual void setValue(const char * value) { error_set() ; }44 virtual void setValue(const string & value) { error_set() ; }45 virtual void setValue(const Array<string,1>& value) { error_set() ; }46 virtual void setValue(const Array<string,2>& value) { error_set() ; }47 virtual void setValue(const Array<string,3>& value) { error_set() ; }48 49 virtual void setValue(const char & value) { error_set() ; }50 virtual void setValue(const Array<char,1>& value) { error_set() ; }51 virtual void setValue(const Array<char,2>& value) { error_set() ; }52 virtual void setValue(const Array<char,3>& value) { error_set() ; }53 54 55 virtual void getValue(int & value) const { error_get() ; }56 virtual void getValue(Array<int,1>& value) const { error_get() ; }57 virtual void getValue(Array<int,2>& value) const { error_get() ; }58 virtual void getValue(Array<int,3>& value) const { error_get() ; }59 60 virtual void getValue(double & value) const { error_get() ; }61 virtual void getValue(Array<double,1>& value) const { error_get() ; }62 virtual void getValue(Array<double,2>& value) const { error_get() ; }63 virtual void getValue(Array<double,3>& value) const { error_get() ; }64 65 virtual void getValue(bool & value) const { error_get() ; }66 virtual void getValue(Array<bool,1>& value) const { error_get() ; }67 virtual void getValue(Array<bool,2>& value) const { error_get() ; }68 virtual void getValue(Array<bool,3>& value) const { error_get() ; }69 70 virtual void getValue(char * value) const { error_get() ; }71 virtual void getValue(string & value) const { error_get() ; }72 virtual void getValue(Array<string,1>& value) const { error_get() ; }73 virtual void getValue(Array<string,2>& value) const { error_get() ; }74 virtual void getValue(Array<string,3>& value) const { error_get() ; }75 76 virtual void getValue(char & value) const { error_get() ; }77 virtual void getValue(Array<char,1>& value) const { error_get() ; }78 virtual void getValue(Array<char,2>& value) const { error_get() ; }79 virtual void getValue(Array<char,3>& value) const { error_get() ; }80 81 static void error_set(void)82 {83 throw XMLIOIncompatibeTypeException("BaseAttribut::set<type> > Setting value type is incompatible with attribut type");84 }85 86 static void error_get(void)87 {88 throw XMLIOIncompatibeTypeException("BaseAttribut::set<type> >Getting value type is incompatible with attribut type");89 }90 56 }; //class BaseAttribut 91 57 } // namespace XMLIOSERVER
Note: See TracChangeset
for help on using the changeset viewer.