#ifndef _reflection_h #define _reflection_h class BaseLevel { private: MetaLevel* meta; public: BaseLevel(): meta(0) { }; MetaLevel* getMeta() { return meta; }; void setMeta( MetaLevel* meta ) { this -> meta = meta; }; }; class MetaLevel { private: BaseLevel* base; public: MetaLevel(): base(0) { }; BaseLevel* getBase() { return base; }; void setBase( BaseLevel* base ) { this -> base = base; }; }; class MetaobjectProtocol { private: MetaLevel* meta; BaseLevel* base; public: MetaobjectProtocol(): meta(0), base(0) { }; MetaLevel* getMeta() { return meta; }; void setMeta( MetaLevel* meta ) { this -> meta = meta; }; BaseLevel* getBase() { return base; }; void setBase( BaseLevel* base ) { this -> base = base; }; }; #endif