00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _FunctionFactory_H_ 00015 #define _FunctionFactory_H_ 00016 00017 #include "pattern/Factory.h" 00018 00019 class FunctionBase; 00020 00029 class MDL_HIPPOPLOT_API FunctionFactory : public Factory <FunctionBase> 00030 { 00031 00032 private: 00033 00035 static FunctionFactory * s_instance; 00036 00038 FunctionFactory ( const FunctionFactory & ); 00039 00041 void initialize (); 00042 00043 protected: 00044 00047 FunctionFactory(); 00048 00049 public: 00050 00052 static FunctionFactory * instance (); 00053 00054 }; 00055 00056 #endif // _FunctionFactory_H_