20 #include "jubatus/util/data/unordered_set.h"
23 #include "../fv_converter/key_matcher.hpp"
24 #include "../fv_converter/key_matcher_factory.hpp"
25 #include "../common/exception.hpp"
27 using jubatus::util::data::unordered_set;
35 : max_size_(conf.max_size) {
39 "max_size must be a positive integer"));
59 unordered_set<std::string>::const_iterator it =
sticky_ids_.find(
id);
70 lru_.erase(it->second);
71 it->second =
lru_.begin();
107 lru_.erase(it->second);
115 unordered_set<std::string>::iterator it =
sticky_ids_.find(
id);
133 for (lru::iterator it =
lru_.begin(); it !=
lru_.end(); ++it) {
bool can_touch(const std::string &id)
bool exists_in_memory(const std::string &id) const
bool touch(const std::string &id)
void unlearn(const std::string &id) const
#define JUBATUS_EXCEPTION(e)
jubatus::util::data::optional< std::string > unlearner
jubatus::util::lang::shared_ptr< jubatus::core::fv_converter::key_matcher > sticky_matcher_
bool remove(const std::string &id)
jubatus::util::data::unordered_set< std::string > sticky_ids_
jubatus::util::data::optional< std::string > sticky_pattern
lru_unlearner(const config &conf)
jubatus::util::lang::shared_ptr< key_matcher > create_matcher(const std::string &matcher)