20 typedef typename VectorType::iterator iterator;
21 typedef typename VectorType::const_iterator const_iterator;
32 const_iterator begin()
const {
35 const_iterator end()
const {
39 iterator find(
const Key& key) {
40 for (
auto it = begin(); it != end(); ++it) {
48 const_iterator find(
const Key& key)
const {
49 for (
auto it = begin(); it != end(); ++it) {
57 bool insert(
const Key& key) {
58 if (data.size() < N) {
68 bool erase(
const Key& key) {
77 bool erase(iterator pos) {
85 bool next(
const Key& key, Key* next_key,
bool allow_rollover =
false)
const {
86 const_iterator it = find(key);
92 }
else if (allow_rollover && !empty()) {
100 bool prev(
const Key& key, Key* prev_key,
bool allow_rollover =
false)
const {
101 const_iterator it = find(key);
107 }
else if (allow_rollover && !empty()) {
108 *prev_key = data[data.size() - 1];
116 constexpr size_t size()
const {
120 constexpr bool empty()
const {
125 constexpr size_t capacity()
const {
134 bool has(
const Key& key)
const {
135 return find(key) != end();
139 const Key& front()
const {
144 const Key& back()
const {