10 #include <boost/unordered_map.hpp>
16 template <
class KEY,
class VALUE,
class HASH = boost::hash<KEY>,
class EQUAL = std::equal_to<KEY> >
21 typedef boost::unordered_map<KEY, VALUE, HASH, EQUAL>
map_type;
72 operator bool()
const {
85 void put(
const KEY& key,
const VALUE& value) {
86 (*mapContainer)[key] = value;
91 for (
iterator current = first; current != last; ++current) {
92 (*mapContainer)[current->first] = current->second;
97 void remove(ITER pos) {
101 template <
class ITER>
102 ITER
remove(ITER first, ITER last) {
106 bool remove(
const KEY& key) {
114 VALUE
get(
const KEY& key)
const {
116 return findValue ==
mapContainer->end() ? VALUE() : findValue->second;
129 template <
class KEY,
class VALUE,
class HASH = boost::hash<KEY>,
class EQUAL = std::equal_to<KEY> >
134 typedef typename boost::unordered_map<KEY, VALUE, HASH, EQUAL>
map_type;
139 instance.
mapContainer = Lucene::newInstance<map_type>();
149 if (!key->first.expired()) {
150 clearCopy.insert(*key);
156 VALUE
get(
const KEY& key) {
159 return findValue->second;