Line | |
---|
1 | #ifndef __DECLARE_ATTRIBUT__ |
---|
2 | #define __DECLARE_ATTRIBUT__ |
---|
3 | |
---|
4 | #include "attribut.hpp" |
---|
5 | |
---|
6 | #define Array(x,y) Array<x,y> |
---|
7 | |
---|
8 | #define DECLARE_ATTR(att_name, att_type) \ |
---|
9 | class Attr_##att_name : public Attribut<att_type> \ |
---|
10 | { \ |
---|
11 | public: \ |
---|
12 | \ |
---|
13 | virtual std::string getName(void) const { return (#att_name) ;} \ |
---|
14 | virtual const char * getType(void) const { return (#att_type) ;} \ |
---|
15 | \ |
---|
16 | Attr_##att_name(void) : Attribut<att_type>() \ |
---|
17 | { /* Ne rien faire de plus */ } \ |
---|
18 | Attr_##att_name(const att_type& _value) : Attribut<att_type>(_value) \ |
---|
19 | { /* Ne rien faire de plus */ } \ |
---|
20 | Attr_##att_name(const Attr_##att_name& _att) : Attribut<att_type>(_att) \ |
---|
21 | { /* Ne rien faire de plus */ } \ |
---|
22 | \ |
---|
23 | virtual ~Attr_##att_name() \ |
---|
24 | { /* Ne rien faire de plus */ } \ |
---|
25 | }; \ |
---|
26 | \ |
---|
27 | const Attr_##att_name& getAttr_##att_name(void) const { return (att_name); } \ |
---|
28 | const Attr_##att_name& get_##att_name(void) const { return (att_name); } \ |
---|
29 | \ |
---|
30 | void setAttr##att_name(const Attr_##att_name& _newattr) { att_name = _newattr; } \ |
---|
31 | void set_##att_name (const Attr_##att_name& _newattr) { att_name = _newattr; }\ |
---|
32 | \ |
---|
33 | void setAttr##att_name(const att_type& _newattr) { att_name.setValue(_newattr); }\ |
---|
34 | void set_##att_name (const att_type& _newattr) { att_name.setValue(_newattr); }\ |
---|
35 | \ |
---|
36 | Attr_##att_name att_name |
---|
37 | |
---|
38 | #endif // __DECLARE_ATTRIBUT__ |
---|
Note: See
TracBrowser
for help on using the repository browser.