28 V& operator[](
const K& key);
30 const V& operator[](
const K& key)
const;
33 virtual ncnt len()
const = 0;
38 virtual nbool in(
const K& key)
const = 0;
40 nbool in(
const V&
val)
const;
42 nbool in(std::function<nbool(
const K& key,
const V&
val)> l)
const;
43 template <
typename V1> nbool in(std::function<nbool(
const K& key,
const V1&
val)> l)
const;
46 virtual V* get(
const K& key) = 0;
47 const V* get(
const K& key)
const BY_CONST_FUNC(get(key))
49 template <
typename V1>
V1* get();
50 template <
typename V1>
const V1* get()
const BY_CONST_FUNC(
get<V1>())
51 template <
typename V1>
V1* get(
const K& key);
52 template <
typename V1>
const V1* get(
const K& key)
const BY_CONST_FUNC(
get<V1>(key))
54 template <
typename V1>
const V1* get(
const K* key)
const BY_CONST_FUNC(
get<V1>(key))
55 template <
typename V1>
V1* get(std::function<nbool(
const K&,
const V1&)> l);
56 V* get(std::function<nbool(
const K&,
const V&)> l);
57 template <
typename V1>
const V1* get(std::function<nbool(
const K&,
const V1&)> l)
const BY_CONST_FUNC(get(l))
58 const V* get(std::function<nbool(
const K&,
const V&)> l)
const BY_CONST_FUNC(get(l))
66 template <
typename V1>
void each(std::function<nbool(
const K&,
V1&)> l);
67 void each(std::function<nbool(
const K&,
V&)> l);
68 template <
typename V1>
void each(std::function<nbool(
const K&,
const V1&)> l)
const BY_CONST_FUNC(each(l))
69 void each(std::function<nbool(
const K&,
const V&)> l)
const BY_CONST_FUNC(each(l))
73 iter begin(
const K& key)
const;
77 iter rbegin(
const K& key)
const;
82 virtual iter rend()
const;
84 virtual iter last()
const;
101 iter iterate(
const K& key)
const;
103 iter iterate(
const K& key, nbool isBoundary)
const;
104 iter iterate(
const K* key, nbool isBoundary)
const
105 BY_SIDE_FUNC(key, iterate(*key, isBoundary), iterate(0, isBoundary));
107 iter riterate(ncnt
step, nbool isBoundary)
const;
108 iter riterate(
const K& key)
const;
110 iter riterate(
const K& key, nbool isBoundary)
const;
111 iter riterate(
const K* key, nbool isBoundary)
const
112 BY_SIDE_FUNC(key, riterate(*key, isBoundary), riterate(0, isBoundary));
114 virtual nbool add(
const K& key,
const V&
val) = 0;
126 virtual nbool
del(
const K& key) = 0;
139 virtual void rel() = 0;
142 virtual iteration* _onMakeIteration(
const K* key, nbool isReversed, ncnt
step, nbool isBoundary)
const = 0;
143 virtual void _getAll(
const K& key,
narr&
tray)
const = 0;
#define BY_SIDE_FUNC(...)
Side function macros for safe pointer operations.
Definition sideFunc.hpp:24