00001 // -*- c++ -*- 00002 //***************************************************************************** 00036 //***************************************************************************** 00037 00038 // include basic definitions 00039 #include "pbori_defs.h" 00040 00041 // get internal cache management classes 00042 #include "CCacheManagement.h" 00043 00044 00045 #ifndef CacheManager_h_ 00046 #define CacheManager_h_ 00047 00048 BEGIN_NAMESPACE_PBORI 00049 00050 class BooleEnv; 00051 template <class CacheType> 00052 class CacheManager: 00053 public CCacheManagement<CacheType, CacheType::nargs> { 00054 00055 public: 00057 typedef CCacheManagement<CacheType, CacheType::nargs> base; 00058 typedef typename base::manager_type manager_type; 00059 00061 CacheManager(const manager_type& mgr): 00062 base(mgr) {} 00063 00065 ~CacheManager() {} 00066 }; 00067 00068 template <class CacheType> 00069 class CommutativeCacheManager: 00070 public CCommutativeCacheManagement<CacheType> { 00071 00072 public: 00074 typedef CCommutativeCacheManagement<CacheType> base; 00075 typedef typename base::manager_type manager_type; 00076 00078 CommutativeCacheManager(const manager_type& mgr): 00079 base(mgr) {} 00080 00082 ~CommutativeCacheManager() {} 00083 }; 00084 00085 00086 END_NAMESPACE_PBORI 00087 00088 #endif