CBMC
fixed_keys_map_wrapper.h
Go to the documentation of this file.
1 // Copyright 2018 Diffblue Limited.
2 
6 
7 #ifndef CPROVER_UTIL_FIXED_KEYS_MAP_WRAPPER_H
8 #define CPROVER_UTIL_FIXED_KEYS_MAP_WRAPPER_H
9 
10 template <typename mapt>
12 {
13 private:
14  mapt &map;
15 
16 public:
17  // NOLINTNEXTLINE(readability/identifiers) - should match STL
18  typedef typename mapt::iterator iterator;
19  // NOLINTNEXTLINE(readability/identifiers) - should match STL
20  typedef typename mapt::const_iterator const_iterator;
21  // NOLINTNEXTLINE(readability/identifiers) - should match STL
22  typedef typename mapt::reverse_iterator reverse_iterator;
23  // NOLINTNEXTLINE(readability/identifiers) - should match STL
24  typedef typename mapt::const_reverse_iterator const_reverse_iterator;
25  // NOLINTNEXTLINE(readability/identifiers) - should match STL
26  typedef typename mapt::key_type key_type;
27  // NOLINTNEXTLINE(readability/identifiers) - should match STL
28  typedef typename mapt::mapped_type mapped_type;
29  // NOLINTNEXTLINE(readability/identifiers) - should match STL
30  typedef typename mapt::size_type size_type;
31 
32  explicit fixed_keys_map_wrappert(mapt &map) : map(map)
33  {
34  }
35 
37  {
38  return map.begin();
39  }
41  {
42  return map.begin();
43  }
45  {
46  return map.end();
47  }
49  {
50  return map.end();
51  }
53  {
54  return map.rbegin();
55  }
57  {
58  return map.rbegin();
59  }
61  {
62  return map.rend();
63  }
65  {
66  return map.rend();
67  }
69  {
70  return map.begin();
71  }
73  {
74  return map.end();
75  }
77  {
78  return map.rbegin();
79  }
81  {
82  return map.rend();
83  }
84 
85  bool empty() const
86  {
87  return map.empty();
88  }
89  size_type size() const
90  {
91  return map.size();
92  }
93  size_type count(const key_type &key) const
94  {
95  return map.count(key);
96  }
97 
98  const mapped_type &at(const key_type &key) const
99  {
100  return map.at(key);
101  }
102  mapped_type &at(const key_type &key)
103  {
104  return map.at(key);
105  }
106 
107  iterator find(const key_type &key)
108  {
109  return map.find(key);
110  }
111  const_iterator find(const key_type &key) const
112  {
113  return map.find(key);
114  }
115 };
116 
117 #endif // CPROVER_UTIL_FIXED_KEYS_MAP_WRAPPER_H
fixed_keys_map_wrappert::rend
const_reverse_iterator rend() const
Definition: fixed_keys_map_wrapper.h:64
fixed_keys_map_wrappert::at
const mapped_type & at(const key_type &key) const
Definition: fixed_keys_map_wrapper.h:98
fixed_keys_map_wrappert::mapped_type
mapt::mapped_type mapped_type
Definition: fixed_keys_map_wrapper.h:28
fixed_keys_map_wrappert::begin
const_iterator begin() const
Definition: fixed_keys_map_wrapper.h:40
fixed_keys_map_wrappert
Definition: fixed_keys_map_wrapper.h:11
fixed_keys_map_wrappert::rend
reverse_iterator rend()
Definition: fixed_keys_map_wrapper.h:60
fixed_keys_map_wrappert::fixed_keys_map_wrappert
fixed_keys_map_wrappert(mapt &map)
Definition: fixed_keys_map_wrapper.h:32
fixed_keys_map_wrappert::crend
const_reverse_iterator crend() const
Definition: fixed_keys_map_wrapper.h:80
fixed_keys_map_wrappert::key_type
mapt::key_type key_type
Definition: fixed_keys_map_wrapper.h:26
fixed_keys_map_wrappert::count
size_type count(const key_type &key) const
Definition: fixed_keys_map_wrapper.h:93
fixed_keys_map_wrappert::end
iterator end()
Definition: fixed_keys_map_wrapper.h:44
fixed_keys_map_wrappert::cbegin
const_iterator cbegin() const
Definition: fixed_keys_map_wrapper.h:68
fixed_keys_map_wrappert::at
mapped_type & at(const key_type &key)
Definition: fixed_keys_map_wrapper.h:102
fixed_keys_map_wrappert::map
mapt & map
Definition: fixed_keys_map_wrapper.h:14
fixed_keys_map_wrappert::rbegin
reverse_iterator rbegin()
Definition: fixed_keys_map_wrapper.h:52
fixed_keys_map_wrappert::find
const_iterator find(const key_type &key) const
Definition: fixed_keys_map_wrapper.h:111
fixed_keys_map_wrappert::cend
const_iterator cend() const
Definition: fixed_keys_map_wrapper.h:72
fixed_keys_map_wrappert::rbegin
const_reverse_iterator rbegin() const
Definition: fixed_keys_map_wrapper.h:56
fixed_keys_map_wrappert::empty
bool empty() const
Definition: fixed_keys_map_wrapper.h:85
fixed_keys_map_wrappert::size_type
mapt::size_type size_type
Definition: fixed_keys_map_wrapper.h:30
fixed_keys_map_wrappert::const_reverse_iterator
mapt::const_reverse_iterator const_reverse_iterator
Definition: fixed_keys_map_wrapper.h:24
fixed_keys_map_wrappert::size
size_type size() const
Definition: fixed_keys_map_wrapper.h:89
fixed_keys_map_wrappert::crbegin
const_reverse_iterator crbegin() const
Definition: fixed_keys_map_wrapper.h:76
fixed_keys_map_wrappert::begin
iterator begin()
Definition: fixed_keys_map_wrapper.h:36
fixed_keys_map_wrappert::reverse_iterator
mapt::reverse_iterator reverse_iterator
Definition: fixed_keys_map_wrapper.h:22
fixed_keys_map_wrappert::end
const_iterator end() const
Definition: fixed_keys_map_wrapper.h:48
fixed_keys_map_wrappert::iterator
mapt::iterator iterator
Definition: fixed_keys_map_wrapper.h:18
fixed_keys_map_wrappert::const_iterator
mapt::const_iterator const_iterator
Definition: fixed_keys_map_wrapper.h:20
size_type
unsignedbv_typet size_type()
Definition: c_types.cpp:68
fixed_keys_map_wrappert::find
iterator find(const key_type &key)
Definition: fixed_keys_map_wrapper.h:107