#include <treemap.h>

Public Types | |
| using | KeyType = K |
| using | ValueType = V |
| using | Super = TreeMapParent< TreeMap< K, V, MAP, COW, OPT >, COW > |
| using | Child = typename std::conditional< COW, StrongCOWRef< TreeMap >, TreeMap >::type |
| using | Ref = typename std::conditional< COW, StrongCOWRef< TreeMap >, void >::type |
| using | ChildrenMap = typename MAP::template Type< K, Child > |
| using | OptValueType = typename std::conditional< OPT, Opt< V >, V >::type |
Public Member Functions | |
| TreeMap ()=default | |
| TreeMap (TreeMap &&src) | |
| MAXON_OPERATOR_MOVE_ASSIGNMENT (TreeMap) | |
| Result< void > | CopyFrom (const TreeMap &src) |
| void | Flush () |
| void | Reset () |
| Result< TreeMap & > | InsertChild (const K &key, Bool withValue=true) |
| Result< Child & > | InsertChild (const K &key, Child &&child) |
| template<typename PATH , typename = typename std::enable_if<!STD_IS_REPLACEMENT(base_of, K, typename std::decay<PATH>::type)>::type> | |
| Result< TreeMap & > | InsertEntry (PATH &&key, Bool withValue=true) |
| template<typename PATH , typename = typename std::enable_if<!STD_IS_REPLACEMENT(base_of, K, typename std::decay<PATH>::type)>::type> | |
| Result< TreeMap & > | Insert (PATH &&key, const V &value) |
| template<typename PATH , typename = typename std::enable_if<!STD_IS_REPLACEMENT(base_of, K, typename std::decay<PATH>::type)>::type> | |
| Result< TreeMap & > | Insert (PATH &&key, V &&value) |
| template<typename PATH > | |
| Result< V & > | InsertKey (PATH &&key, Bool &created) |
| template<typename PATH > | |
| Result< V & > | InsertKey (PATH &&key) |
| const TreeMap * | FindChild (const K &key) const |
| TreeMap * | FindChild (const K &key) |
| template<typename PATH > | |
| const TreeMap * | FindEntry (PATH &&key) const |
| template<typename PATH , typename = typename std::enable_if<!COW || AlwaysFalse<PATH>::value>::type> | |
| TreeMap * | FindEntry (PATH &&key) |
| template<typename PATH > | |
| const TreeMap * | FindFirstEntryWithValue (PATH &&key) const |
| template<typename PATH > | |
| const TreeMap * | FindClosestEntryWithValue (PATH &&key) const |
| template<typename PATH > | |
| const V * | FindValue (PATH &&key) const |
| template<typename PATH , typename = typename std::enable_if<!COW || AlwaysFalse<PATH>::value>::type> | |
| V * | FindValue (PATH &&key) |
| template<typename PATH > | |
| Bool | Contains (PATH &&key) const |
| template<typename PATH > | |
| std::conditional< COW, Result< void >, ResultOk< void > >::type | Erase (PATH &&key, Bool withChildren=false) |
| String | ToString (const FormatStatement *fs=nullptr) const |
| const OptValueType & | Get () const |
| OptValueType & | Get () |
| V & | MakeValid () |
| void | SetValue (const V &value) |
| void | SetValue (V &&value) |
| Bool | IsRoot () const |
| Bool | IsLeaf () const |
| const ChildrenMap & | GetChildren () const |
| ChildrenMap & | GetChildren () |
| const K * | GetKey () const |
| Bool | operator== (const TreeMap &other) const |
| Bool | operator!= (const TreeMap &other) const |
| Bool | IsPopulated () const |
| Bool | IsEmpty () const |
| Bool | HasSameStructure (const TreeMap &other) const |
| template<typename OP > | |
| Result< Bool > | ForEachPreOrder (OP &&callback) const |
| template<typename PATH , typename OP > | |
| Result< Bool > | ForEachPreOrder (OP &&callback, PATH &&path=PATH()) const |
| template<typename OP > | |
| Result< Bool > | ForEachPreOrder (OP &&callback) |
| template<typename PATH , typename OP > | |
| Result< Bool > | ForEachPreOrder (OP &&callback, PATH &&path=PATH()) |
| template<typename PATH , typename OP > | |
| Result< void > | ForEachPreOrderX (OP &&callback, PATH &&path=PATH()) |
| template<typename OP > | |
| Result< Bool > | ForEachPostOrder (OP &&callback) const |
| template<typename PATH , typename OP > | |
| Result< Bool > | ForEachPostOrder (OP &&callback, PATH &&path=PATH()) const |
| template<typename OP > | |
| Result< Bool > | ForEachPostOrder (OP &&callback) |
| template<typename PATH , typename OP > | |
| Result< Bool > | ForEachPostOrder (OP &&callback, PATH &&path=PATH()) |
| template<typename PATH > | |
| Result< void > | GetPath (PATH &path) const |
| Int | GetDepth () const |
| IndexIterator< const K &, const TreeMap, TreeMap > | GetPath () const |
Public Member Functions inherited from TreeMapParent< TreeMap< K, V, HashMapSelector<>, false, true >, false > | |
| const TreeMap< K, V, HashMapSelector<>, false, true > * | GetParent () const |
| TreeMap< K, V, HashMapSelector<>, false, true > * | GetParent () |
Static Public Member Functions | |
| static ResultRef< TreeMap > | MakeWritable (StrongCOWRef< TreeMap > &ref) |
| static ResultOk< TreeMap & > | MakeWritable (TreeMap &ref) |
| static const TreeMap * | GetTreeMap (const TreeMap *child) |
| static TreeMap * | GetTreeMap (TreeMap *child) |
| static const TreeMap * | GetTreeMap (const StrongCOWRef< TreeMap > *child) |
| static const K & | Get (const TreeMap &map, Int index) |
Private Member Functions | |
| void | ToStringImpl (String &s, BufferedBaseArray< K, 10 > &path, const FormatStatement *fs) const |
| template<typename IT > | |
| std::conditional< COW, Result< Bool >, ResultOk< Bool > >::type | EraseImpl (IT &beginIt, const IT &endIt, Bool withChildren) |
Static Private Member Functions | |
| static const V * | Extract (const V &x) |
| static const V * | Extract (const Opt< V > &x) |
Private Attributes | |
| OptValueType | _value |
| ChildrenMap | _children |
Additional Inherited Members | |
Protected Member Functions inherited from TreeMapParent< TreeMap< K, V, HashMapSelector<>, false, true >, false > | |
| void | SetParent (TreeMap< K, V, HashMapSelector<>, false, true > *p) |
Protected Attributes inherited from TreeMapParent< TreeMap< K, V, HashMapSelector<>, false, true >, false > | |
| Pointer< TreeMap< K, V, HashMapSelector<>, false, true > > | _parent |
| using KeyType = K |
| using ValueType = V |
| using Super = TreeMapParent<TreeMap<K, V, MAP, COW, OPT>, COW> |
| using Child = typename std::conditional<COW, StrongCOWRef<TreeMap>, TreeMap>::type |
| using Ref = typename std::conditional<COW, StrongCOWRef<TreeMap>, void>::type |
| using ChildrenMap = typename MAP::template Type<K, Child> |
| using OptValueType = typename std::conditional<OPT, Opt<V>, V>::type |
|
default |
| MAXON_OPERATOR_MOVE_ASSIGNMENT | ( | TreeMap< K, V, MAP, COW, OPT > | ) |
| void Flush | ( | ) |
| void Reset | ( | ) |
|
static |
| Result<V&> InsertKey | ( | PATH && | key | ) |
|
static |
| const TreeMap* FindChild | ( | const K & | key | ) | const |
| TreeMap* FindChild | ( | const K & | key | ) |
| const TreeMap* FindEntry | ( | PATH && | key | ) | const |
| TreeMap* FindEntry | ( | PATH && | key | ) |
| const TreeMap* FindFirstEntryWithValue | ( | PATH && | key | ) | const |
| const TreeMap* FindClosestEntryWithValue | ( | PATH && | key | ) | const |
| const V* FindValue | ( | PATH && | key | ) | const |
| V* FindValue | ( | PATH && | key | ) |
| Bool Contains | ( | PATH && | key | ) | const |
| std::conditional<COW, Result<void>, ResultOk<void> >::type Erase | ( | PATH && | key, |
| Bool | withChildren = false |
||
| ) |
| String ToString | ( | const FormatStatement * | fs = nullptr | ) | const |
| const OptValueType& Get | ( | ) | const |
| OptValueType& Get | ( | ) |
| V& MakeValid | ( | ) |
| void SetValue | ( | const V & | value | ) |
| void SetValue | ( | V && | value | ) |
| Bool IsRoot | ( | ) | const |
| Bool IsLeaf | ( | ) | const |
| const ChildrenMap& GetChildren | ( | ) | const |
| ChildrenMap& GetChildren | ( | ) |
| const K* GetKey | ( | ) | const |
| Bool IsPopulated | ( | ) | const |
| Bool IsEmpty | ( | ) | const |
| Result<void> GetPath | ( | PATH & | path | ) | const |
| Int GetDepth | ( | ) | const |
| IndexIterator<const K&, const TreeMap, TreeMap> GetPath | ( | ) | const |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |