|
LLVM 24.0.0git
|
#include "llvm/ADT/ImmutableMap.h"
Classes | |
| class | Factory |
| class | iterator |
Public Types | |
| using | value_type = typename ValInfo::value_type |
| using | value_type_ref = typename ValInfo::value_type_ref |
| using | key_type = typename ValInfo::key_type |
| using | key_type_ref = typename ValInfo::key_type_ref |
| using | data_type = typename ValInfo::data_type |
| using | data_type_ref = typename ValInfo::data_type_ref |
| using | TreeTy = ImutAVLTree<ValInfo, Canonicalize> |
Public Member Functions | |
| ImmutableMap (const TreeTy *R) | |
| Constructs a map from a pointer to a tree root. | |
| bool | contains (key_type_ref K) const |
| bool | operator== (const ImmutableMap &RHS) const |
| Compares two maps for equality. | |
| bool | operator!= (const ImmutableMap &RHS) const |
| TreeTy * | getRoot () const |
| TreeTy * | getRootWithoutRetain () const |
| void | manualRetain () |
| void | manualRelease () |
| bool | isEmpty () const |
| void | verify () const |
| iterator | begin () const |
| iterator | end () const |
| data_type * | lookup (key_type_ref K) const |
| value_type * | getMaxElement () const |
| Returns the <key,value> pair in the ImmutableMap for which key is the highest in the ordering of keys in the map. | |
| unsigned | getHeight () const |
| void | Profile (FoldingSetNodeID &ID) const |
Static Public Member Functions | |
| static void | Profile (FoldingSetNodeID &ID, const ImmutableMap &M) |
Protected Attributes | |
| IntrusiveRefCntPtr< TreeTy > | Root |
Definition at line 64 of file ImmutableMap.h.
| using llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::data_type = typename ValInfo::data_type |
Definition at line 70 of file ImmutableMap.h.
| using llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::data_type_ref = typename ValInfo::data_type_ref |
Definition at line 71 of file ImmutableMap.h.
| using llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::key_type = typename ValInfo::key_type |
Definition at line 68 of file ImmutableMap.h.
| using llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::key_type_ref = typename ValInfo::key_type_ref |
Definition at line 69 of file ImmutableMap.h.
| using llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::TreeTy = ImutAVLTree<ValInfo, Canonicalize> |
Definition at line 72 of file ImmutableMap.h.
| using llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::value_type = typename ValInfo::value_type |
Definition at line 66 of file ImmutableMap.h.
| using llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::value_type_ref = typename ValInfo::value_type_ref |
Definition at line 67 of file ImmutableMap.h.
|
inlineexplicit |
Constructs a map from a pointer to a tree root.
In general one should use a Factory object to create maps instead of directly invoking the constructor, but there are cases where make this constructor public is useful.
Definition at line 82 of file ImmutableMap.h.
References Root.
Referenced by llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::Factory::add(), llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::Factory::getEmptyMap(), operator!=(), operator==(), Profile(), and llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::Factory::remove().
|
inlinenodiscard |
Definition at line 182 of file ImmutableMap.h.
References Root.
|
inlinenodiscard |
Definition at line 119 of file ImmutableMap.h.
References Root.
|
inlinenodiscard |
Definition at line 183 of file ImmutableMap.h.
|
inlinenodiscard |
Definition at line 205 of file ImmutableMap.h.
References Root.
|
inlinenodiscard |
Returns the <key,value> pair in the ImmutableMap for which key is the highest in the ordering of keys in the map.
This method returns NULL if the map is empty.
Definition at line 197 of file ImmutableMap.h.
References getValue(), and Root.
|
inlinenodiscard |
Definition at line 143 of file ImmutableMap.h.
References Root.
|
inlinenodiscard |
Definition at line 148 of file ImmutableMap.h.
References Root.
|
inlinenodiscard |
Definition at line 158 of file ImmutableMap.h.
References Root.
|
inlinenodiscard |
Definition at line 185 of file ImmutableMap.h.
|
inline |
Definition at line 154 of file ImmutableMap.h.
References Root.
|
inline |
Definition at line 150 of file ImmutableMap.h.
References Root.
|
inlinenodiscard |
Definition at line 135 of file ImmutableMap.h.
References ImmutableMap(), RHS, and Root.
|
inlinenodiscard |
Compares two maps for equality.
For a canonicalizing factory, maps with equal contents share the same tree, so this is an O(1) pointer comparison (like ImmutableList); only maps created by the same factory may be compared. Otherwise it is a structural comparison.
Definition at line 127 of file ImmutableMap.h.
References ImmutableMap(), RHS, and Root.
|
inline |
Definition at line 213 of file ImmutableMap.h.
References Profile.
|
inlinestatic |
Definition at line 209 of file ImmutableMap.h.
References ImmutableMap().
|
inline |
Definition at line 165 of file ImmutableMap.h.
References Root.
|
protected |
Definition at line 75 of file ImmutableMap.h.
Referenced by llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::Factory::add(), begin(), contains(), getHeight(), getMaxElement(), getRoot(), getRootWithoutRetain(), ImmutableMap(), isEmpty(), lookup(), manualRelease(), manualRetain(), operator!=(), operator==(), llvm::ImmutableMap< KeyT, ValT, ValInfo, Canonicalize >::Factory::remove(), and verify().