PolyBoRi
CacheManager.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00014 //*****************************************************************************
00015 
00016 // include basic definitions
00017 #include "pbori_defs.h"
00018 
00019 // get internal cache management classes
00020 #include "CCacheManagement.h"
00021 
00022 #include "BoolePolyRing.h"
00023 
00024 #ifndef CacheManager_h_
00025 #define CacheManager_h_
00026 
00027 BEGIN_NAMESPACE_PBORI
00028 
00029 class BooleEnv;
00030 template <class CacheType>
00031 class CacheManager:
00032   public CCacheManagement<BoolePolyRing, CacheType, CacheType::nargs> {
00033 
00034 public:
00036   typedef CCacheManagement<BoolePolyRing, CacheType, CacheType::nargs> base;
00037   typedef typename base::manager_type manager_type;
00038 
00040   CacheManager(const manager_type& mgr):
00041     base(mgr) {}
00042 
00044   ~CacheManager() {}
00045 };
00046 
00047 template <class CacheType>
00048 class CommutativeCacheManager:
00049   public CCommutativeCacheManagement<BoolePolyRing, CacheType> {
00050 
00051 public:
00053   typedef CCommutativeCacheManagement<BoolePolyRing, CacheType> base;
00054   typedef typename base::manager_type manager_type;
00055 
00057   CommutativeCacheManager(const manager_type& mgr):
00058     base(mgr) {}
00059 
00061   ~CommutativeCacheManager() {}
00062 };
00063 
00064 
00065 END_NAMESPACE_PBORI
00066 
00067 #endif