00001
00002
00003
00004
00005
00006
00008 #ifndef CPPCMS_CACHE_POOL_H
00009 #define CPPCMS_CACHE_POOL_H
00010
00011 #include <cppcms/defs.h>
00012 #include <booster/noncopyable.h>
00013 #include <booster/intrusive_ptr.h>
00014 #include <booster/hold_ptr.h>
00015 #include <cppcms/base_cache_fwd.h>
00016
00017 namespace cppcms {
00018 namespace json { class value; }
00019 namespace impl { class base_cache; }
00020
00022 class CPPCMS_API cache_pool {
00023 public:
00024 cache_pool(json::value const &settings);
00025 ~cache_pool();
00026 booster::intrusive_ptr<impl::base_cache> get();
00027 private:
00028 struct _data;
00029 booster::hold_ptr<_data> d;
00030 };
00032 }
00033
00034 #endif