5#include <initializer_list>
7#include "core/builtin/container/native/smultimap.inl"
11 template <
typename K,
typename V,
typename TACTIC = strTactic>
class tnmap:
public tnbicontainer<K, V> {
16 template <
typename K1,
typename V1>
friend class tmap;
19 typedef typename cmap::iterator citer;
20 typedef std::pair<K, V> cpair;
21 typedef typename super::iter
iter;
22 typedef typename super::iteration
iteration;
24#include "../iter/nmapIteration.hpp"
28 tnmap(
const std::initializer_list<std::pair<K, V*>>& elems);
31 ncnt len()
const override;
35 nbool in(
const K& key)
const override;
39 V* get(
const K& key)
override;
43 nbool add(
const K& key,
const V& new1)
override;
47 nbool
del(
const K& key)
override;
48 nbool
del(
const iter& at)
override;
60 iteration* _onMakeIteration(
const K* key, nbool isReversed, ncnt step, nbool isBoundary)
const override;
62 void _getAll(
const K& key,
narr& tray)
const override;
Interface for objects that can be cloned.
Definition: clonable.hpp:12
Deferred execution utility like defer keyword in other languages.
Definition: end.hpp:14
Definition: tnbicontainer.hpp:8
nbool del(const K &key) override
void onCloneDeep(const clonable &from) override
Strong reference smart pointer with strict type checking.
Definition: tstr.hpp:13
Bidirectional iterator for key-value containers.
Definition: biter.hpp:9
Definition: biteration.hpp:5
Definition: nmapIteration.hpp:5