#ifndef __meowpp_h__ #define __meowpp_h__ #include "meowpp/Usage.h" #include "meowpp/oo/ObjBase.h" #include "meowpp/oo/ObjSelector.h" extern int count; class TestFunction: public meow::ObjBase{ public: virtual ~TestFunction(){ }; virtual bool run() = 0; virtual std::string name () const = 0; virtual std::string description() const = 0; }; #define TEST(__A,__B) \ class Test##__A: public TestFunction{ \ public: \ \ meow::ObjBase* create() const{ return new Test##__A(); } \ bool run(); \ std::string name() const{ return std::string(#__A); } \ std::string description() const{ return std::string(__B); } \ }; \ static meow::ObjSelector<0> _(meow::stringPrintf("%d", count++), new Test##__A(), true); \ inline bool Test##__A::run() #endif // __meowpp_h__