00001 // -*- c++ -*- 00002 //***************************************************************************** 00015 //***************************************************************************** 00016 00017 #ifndef polybori_factories_CFactoryBase_h_ 00018 #define polybori_factories_CFactoryBase_h_ 00019 00020 // include basic definitions 00021 #include <polybori/pbori_defs.h> 00022 #include <polybori/BoolePolyRing.h> 00023 00024 00025 BEGIN_NAMESPACE_PBORI 00026 00035 class CFactoryBase { 00037 typedef CFactoryBase self; 00038 00039 public: 00041 typedef BoolePolyRing parent_type; 00042 00044 CFactoryBase(const parent_type& parent): m_parent(parent) {} 00045 00047 CFactoryBase(const self& rhs): m_parent(rhs.m_parent) {} 00048 00050 ~CFactoryBase() {} 00051 00053 const parent_type& parent() const { return m_parent; } 00054 00055 private: 00056 parent_type m_parent; 00057 }; 00058 00059 END_NAMESPACE_PBORI 00060 00061 #endif /* polybori_factories_CFactoryBase_h_ */