PolyBoRi
CacheManager.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00014 //*****************************************************************************
00015 
00016 #ifndef polybori_cache_CacheManager_h_
00017 #define polybori_cache_CacheManager_h_
00018 
00019 // include basic definitions
00020 #include <polybori/pbori_defs.h>
00021 
00022 // get internal cache management classes
00023 #include "CCacheManagement.h"
00024 
00025 #include <polybori/BoolePolyRing.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