LLVM 20.0.0git
|
#include "llvm/ADT/ImmutableMap.h"
Classes | |
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 > |
using | FactoryTy = typename TreeTy::Factory |
Public Member Functions | |
ImmutableMapRef (const TreeTy *R, FactoryTy *F) | |
Constructs a map from a pointer to a tree root. | |
ImmutableMapRef (const ImmutableMap< KeyT, ValT > &X, typename ImmutableMap< KeyT, ValT >::Factory &F) | |
void | manualRetain () |
void | manualRelease () |
ImmutableMapRef | add (key_type_ref K, data_type_ref D) const |
ImmutableMapRef | remove (key_type_ref K) const |
bool | contains (key_type_ref K) const |
ImmutableMap< KeyT, ValT > | asImmutableMap () const |
bool | operator== (const ImmutableMapRef &RHS) const |
bool | operator!= (const ImmutableMapRef &RHS) const |
bool | isEmpty () const |
void | verify () const |
iterator | begin () const |
iterator | end () const |
data_type * | lookup (key_type_ref K) const |
value_type * | getMaxElement () const |
getMaxElement - 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 ImmutableMapRef | getEmptyMap (FactoryTy *F) |
static void | Profile (FoldingSetNodeID &ID, const ImmutableMapRef &M) |
Protected Attributes | |
IntrusiveRefCntPtr< TreeTy > | Root |
FactoryTy * | Factory |
Definition at line 203 of file ImmutableMap.h.
using llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::data_type = typename ValInfo::data_type |
Definition at line 209 of file ImmutableMap.h.
using llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::data_type_ref = typename ValInfo::data_type_ref |
Definition at line 210 of file ImmutableMap.h.
using llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::FactoryTy = typename TreeTy::Factory |
Definition at line 212 of file ImmutableMap.h.
using llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::key_type = typename ValInfo::key_type |
Definition at line 207 of file ImmutableMap.h.
using llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::key_type_ref = typename ValInfo::key_type_ref |
Definition at line 208 of file ImmutableMap.h.
using llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::TreeTy = ImutAVLTree<ValInfo> |
Definition at line 211 of file ImmutableMap.h.
using llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::value_type = typename ValInfo::value_type |
Definition at line 205 of file ImmutableMap.h.
using llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::value_type_ref = typename ValInfo::value_type_ref |
Definition at line 206 of file ImmutableMap.h.
|
inline |
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 223 of file ImmutableMap.h.
|
inline |
Definition at line 226 of file ImmutableMap.h.
|
inline |
Definition at line 242 of file ImmutableMap.h.
References D, llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Factory, and llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 257 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Factory, and llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 296 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 253 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 297 of file ImmutableMap.h.
|
inlinestatic |
Definition at line 230 of file ImmutableMap.h.
References F.
|
inline |
Definition at line 319 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
getMaxElement - 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 311 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 270 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 299 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 238 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 234 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 265 of file ImmutableMap.h.
References RHS, and llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 261 of file ImmutableMap.h.
References RHS, and llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 325 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Profile().
Referenced by llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Profile().
|
inlinestatic |
Definition at line 321 of file ImmutableMap.h.
|
inline |
Definition at line 248 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Factory, and llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
inline |
Definition at line 276 of file ImmutableMap.h.
References llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Root.
|
protected |
Definition at line 216 of file ImmutableMap.h.
Referenced by llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::add(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::asImmutableMap(), and llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::remove().
|
protected |
Definition at line 215 of file ImmutableMap.h.
Referenced by llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::add(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::asImmutableMap(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::begin(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::contains(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::getHeight(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::getMaxElement(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::isEmpty(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::lookup(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::manualRelease(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::manualRetain(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::operator!=(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::operator==(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::remove(), and llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::verify().