#ifndef _FCLASSPROPERTY_H_
#define _FCLASSPROPERTY_H_

#define fpropertyr(ptype, pname)	private: ptype f##pname; \
									public:  ptype pname() const {return f##pname;}

#define fpropertyw(ptype, pname)	private: ptype f##pname; \
									public:  void set##pname(ptype p) { f##pname = p;}

#define fpropertyrw(ptype, pname)	private: ptype f##pname; \
									public:  ptype pname() const {return f##pname;} \
									public:  void set##pname(ptype p) { f##pname = p;}

#define fpropertyget(ptype, pname)	private: ptype f##pname; \
									public:  ptype get##pname() const {return f##pname;}

#define fpropertyis2(ptype, pname)	private: ptype f##pname; \
									public:  ptype is##pname() const {return f##pname;}

#define fpropertyset(ptype, pname)	private: ptype f##pname; \
									public:  void set##pname(ptype p) { f##pname = p;}

#define fpropertygetset(ptype, pname)	private: ptype f##pname; \
									public:  ptype get##pname() const {return f##pname;} \
									public:  void set##pname(ptype p) { f##pname = p;}

#define fpropertyisset2(ptype, pname)	private: ptype f##pname; \
									public:  ptype is##pname() const {return f##pname;} \
									public:  void set##pname(ptype p) { f##pname = p;}

#define fpropertyisset(pname)	    fpropertyisset2(bool, pname)

#define fpropertyis(pname)	        fpropertyis2(bool, pname)

#endif
