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