Ignore:
Timestamp:
10/07/10 10:29:38 (14 years ago)
Author:
hozdoba
Message:

Amélioration de quelques portions de code.
Ajout de contructeurs par copie.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_V2/dev/dev_rv/src/XMLIO/base_attribut.hpp

    r122 r126  
    44using std::ostream; 
    55using namespace blitz ; 
    6  
    76 
    87using XMLIOSERVER::XMLIOIncompatibleTypeException; 
     
    1211   class BaseAttribut 
    1312   { 
    14       public: 
     13      protected : 
    1514 
    16          virtual string getName(void) const = 0  ; 
    17          virtual ostream & print(ostream& o) const = 0  ; 
     15         BaseAttribut(void) 
     16         { /* Ne rien faire de plus */ } 
    1817 
    19          friend ostream& operator <<(ostream& o,const BaseAttribut& attr) { return (attr.print(o)) ; } 
     18         BaseAttribut(const BaseAttribut& _ba) 
     19         { /* Ne rien faire de plus */ } 
     20 
     21      public : 
     22 
     23         friend ostream& operator <<(ostream& _out,const BaseAttribut& _attr) 
     24         { return (_attr.print(_out)) ; } 
    2025 
    2126         bool hasId(void) const { return (true); } 
    2227 
     28      public : /* virtual */ 
     29 
    2330         virtual string getId(void) const { return (getName()); } ; 
    2431 
    25          virtual void assignValue(const BaseAttribut*) = 0; 
    26          virtual void setFromString(const std::string&) = 0; 
    27          virtual bool hasValue() const = 0; 
     32         virtual bool      hasValue     (void)          const = 0; 
     33         virtual string    getName      (void)          const = 0; 
     34         virtual ostream & print        (ostream& o)    const = 0; 
     35         virtual void      assignValue  (const BaseAttribut*) = 0; 
     36         virtual void      setFromString(const std::string&)  = 0; 
    2837 
    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 setValue(const Array<TYPE,4>& value)  { error_set() ; }\ 
    35          virtual void getValue(TYPE & value)         const  { error_get() ; }\ 
    36          virtual void getValue(Array<TYPE,1>& value) const  { error_get() ; }\ 
    37          virtual void getValue(Array<TYPE,2>& value) const  { error_get() ; }\ 
    38          virtual void getValue(Array<TYPE,3>& value) const  { error_get() ; }\ 
    39          virtual void getValue(Array<TYPE,4>& value) const  { error_get() ; } 
     38#define  SETTER_AND_GETTER(TYPE)                                                     \ 
     39         virtual void setValue(const TYPE&)           { BaseAttribut::error_set() ; }\ 
     40         virtual void setValue(const Array<TYPE,1>&)  { BaseAttribut::error_set() ; }\ 
     41         virtual void setValue(const Array<TYPE,2>&)  { BaseAttribut::error_set() ; }\ 
     42         virtual void setValue(const Array<TYPE,3>&)  { BaseAttribut::error_set() ; }\ 
     43         virtual void setValue(const Array<TYPE,4>&)  { BaseAttribut::error_set() ; }\ 
     44         virtual void getValue(TYPE&)          const  { BaseAttribut::error_get() ; }\ 
     45         virtual void getValue(Array<TYPE,1>&) const  { BaseAttribut::error_get() ; }\ 
     46         virtual void getValue(Array<TYPE,2>&) const  { BaseAttribut::error_get() ; }\ 
     47         virtual void getValue(Array<TYPE,3>&) const  { BaseAttribut::error_get() ; }\ 
     48         virtual void getValue(Array<TYPE,4>&) const  { BaseAttribut::error_get() ; } 
    4049 
    4150         SETTER_AND_GETTER(int) 
     
    4352         SETTER_AND_GETTER(double) 
    4453         SETTER_AND_GETTER(char) 
    45          SETTER_AND_GETTER(string) 
     54         SETTER_AND_GETTER(std::string) 
    4655 
    4756#undef SETTER_AND_GETTER 
    4857 
     58         virtual ~BaseAttribut(void) 
     59         { /* Ne rien faire de plus */ } 
     60 
     61      public : /* static */ 
     62 
    4963         static void error_set(void) 
    50          { throw XMLIOIncompatibleTypeException("BaseAttribut::set<type> > Setting value type is incompatible with attribut type"); } 
     64         { throw XMLIOIncompatibleTypeException 
     65           ("BaseAttribut::set<type> > Setting value type is incompatible with attribut type"); } 
    5166 
    5267         static void error_get(void) 
    53          { throw XMLIOIncompatibleTypeException("BaseAttribut::set<type> >Getting value type is incompatible with attribut type"); } 
     68         { throw XMLIOIncompatibleTypeException 
     69           ("BaseAttribut::set<type> >Getting value type is incompatible with attribut type"); } 
    5470 
    5571   }; //class BaseAttribut 
Note: See TracChangeset for help on using the changeset viewer.