6 #ifndef RAVEN_INDIRECTMAP_H 7 #define RAVEN_INDIRECTMAP_H 22 template <
class K,
class T>
25 typedef std::map<const K*, T, DereferencingComparator<const K*> >
base;
34 std::pair<iterator, bool>
insert(
const value_type& value) {
return m.insert(value); }
37 iterator
find(
const K& key) {
return m.find(&key); }
38 const_iterator
find(
const K& key)
const {
return m.find(&key); }
39 iterator
lower_bound(
const K& key) {
return m.lower_bound(&key); }
40 const_iterator
lower_bound(
const K& key)
const {
return m.lower_bound(&key); }
41 size_type
erase(
const K& key) {
return m.erase(&key); }
42 size_type
count(
const K& key)
const {
return m.count(&key); }
45 bool empty()
const {
return m.empty(); }
46 size_type
size()
const {
return m.size(); }
47 size_type
max_size()
const {
return m.max_size(); }
49 iterator
begin() {
return m.begin(); }
50 iterator
end() {
return m.end(); }
51 const_iterator
begin()
const {
return m.begin(); }
52 const_iterator
end()
const {
return m.end(); }
53 const_iterator
cbegin()
const {
return m.cbegin(); }
54 const_iterator
cend()
const {
return m.cend(); }
57 #endif // RAVEN_INDIRECTMAP_H size_type count(const K &key) const
const_iterator end() const
const_iterator lower_bound(const K &key) const
const_iterator cend() const
const_iterator cbegin() const
base::value_type value_type
base::const_iterator const_iterator
std::pair< iterator, bool > insert(const value_type &value)
const_iterator find(const K &key) const
iterator lower_bound(const K &key)
const_iterator begin() const
std::map< const K *, T, DereferencingComparator< const K * > > base
base::size_type size_type
size_type max_size() const
bool operator()(const T a, const T b) const
iterator find(const K &key)
size_type erase(const K &key)