16 #ifndef HAZELCAST_CLIENT_INTERNAL_EVICTION_EVICTIONSTRATEGYPROVIDER_H_ 
   17 #define HAZELCAST_CLIENT_INTERNAL_EVICTION_EVICTIONSTRATEGYPROVIDER_H_ 
   22 #include "hazelcast/client/internal/eviction/EvictionStrategyType.h" 
   23 #include "hazelcast/client/internal/eviction/EvictionStrategy.h" 
   24 #include "hazelcast/client/internal/eviction/EvictionConfiguration.h" 
   25 #include "hazelcast/client/internal/eviction/impl/strategy/sampling/SamplingBasedEvictionStrategy.h" 
   27 #if  defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) 
   29 #pragma warning(disable: 4251) //for dll export 
   39                 template<
typename MAPKEY, 
typename MAPVALUE, 
typename A, 
typename E, 
typename S>
 
   50                         if (evictionConfig.get() == NULL) {
 
   51                             return boost::shared_ptr<EvictionStrategy<MAPKEY, MAPVALUE, A, E, S> >();
 
   71                     static std::map<EvictionStrategyType::Type, boost::shared_ptr<EvictionStrategy<MAPKEY, MAPVALUE, A, E, S> > > init() {
 
   72                         std::map<EvictionStrategyType::Type, boost::shared_ptr<EvictionStrategy<MAPKEY, MAPVALUE, A, E, S> > > map;
 
   78                     static std::map<EvictionStrategyType::Type, boost::shared_ptr<EvictionStrategy<MAPKEY, MAPVALUE, A, E, S> > > EVICTION_STRATEGY_MAP;
 
   81                 template<
typename MAPKEY, 
typename MAPVALUE, 
typename A, 
typename E, 
typename S>
 
   82                 std::map<EvictionStrategyType::Type, boost::shared_ptr<EvictionStrategy<MAPKEY, MAPVALUE, A, E, S> > > EvictionStrategyProvider<MAPKEY, MAPVALUE, A, E, S>::EVICTION_STRATEGY_MAP = EvictionStrategyProvider<MAPKEY, MAPVALUE, A, E, S>::init();
 
   88 #if  defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) 
Type
Definition: EvictionStrategyType.h:35
 
Provider to get any kind (EvictionStrategyType) of EvictionStrategy. 
Definition: EvictionStrategyProvider.h:40
 
static boost::shared_ptr< EvictionStrategy< MAPKEY, MAPVALUE, A, E, S > > getEvictionStrategy(const boost::shared_ptr< EvictionConfiguration< MAPKEY, MAPVALUE > > &evictionConfig)
Gets the EvictionStrategy implementation specified with evictionStrategyType. 
Definition: EvictionStrategyProvider.h:48
 
Sampling based eviction strategy type. 
Definition: EvictionStrategyType.h:39
 
static const Type DEFAULT_EVICTION_STRATEGY
Default value of com.hazelcast.internal.eviction.EvictionStrategyType. 
Definition: EvictionStrategyType.h:44
 
static boost::shared_ptr< EvictionStrategy< MAPKEY, MAPVALUE, A, E, S > > & getDefaultEvictionStrategy()
Gets the default EvictionStrategy implementation. 
Definition: EvictionStrategyProvider.h:67
 
Interface for configuration information about eviction. 
Definition: EvictionConfiguration.h:38