Lines Matching refs:ImmutableMap
60 class ImmutableMap {
78 explicit ImmutableMap(const TreeTy* R) : Root(const_cast<TreeTy*>(R)) { in ImmutableMap() function
82 ImmutableMap(const ImmutableMap &X) : Root(X.Root) { in ImmutableMap() function
86 ImmutableMap &operator=(const ImmutableMap &X) {
95 ~ImmutableMap() { in ~ImmutableMap()
109 ImmutableMap getEmptyMap() { return ImmutableMap(F.getEmptyTree()); } in getEmptyMap()
111 ImmutableMap add(ImmutableMap Old, key_type_ref K, data_type_ref D) { in add()
113 return ImmutableMap(Canonicalize ? F.getCanonicalTree(T): T); in add()
116 ImmutableMap remove(ImmutableMap Old, key_type_ref K) { in remove()
118 return ImmutableMap(Canonicalize ? F.getCanonicalTree(T): T); in remove()
134 bool operator==(const ImmutableMap &RHS) const {
138 bool operator!=(const ImmutableMap &RHS) const {
205 class iterator : public ImutAVLValueIterator<ImmutableMap> {
208 friend class ImmutableMap; variable
240 static inline void Profile(FoldingSetNodeID& ID, const ImmutableMap& M) { in Profile()
279 explicit ImmutableMapRef(const ImmutableMap<KeyT, ValT> &X, in ImmutableMapRef()
280 typename ImmutableMap<KeyT, ValT>::Factory &F) in ImmutableMapRef()
337 ImmutableMap<KeyT, ValT> asImmutableMap() const { in asImmutableMap()
338 return ImmutableMap<KeyT, ValT>(Factory->getCanonicalTree(Root)); in asImmutableMap()