Home | History | Annotate | Download | only in ADT

Lines Matching defs:ImmutableSet

1 //===--- ImmutableSet.h - Immutable (functional) set interface --*- C++ -*-===//
10 // This file defines the ImutAVLTree and ImmutableSet classes.
899 // definitions used by ImutAVLTree, ImmutableSet, and ImmutableMap. These
958 class ImmutableSet {
972 explicit ImmutableSet(TreeTy* R) : Root(R) {
975 ImmutableSet(const ImmutableSet &X) : Root(X.Root) {
978 ImmutableSet &operator=(const ImmutableSet &X) {
986 ~ImmutableSet() {
1002 ImmutableSet getEmptySet() {
1003 return ImmutableSet(F.getEmptyTree());
1013 ImmutableSet add(ImmutableSet Old, value_type_ref V) {
1015 return ImmutableSet(Canonicalize ? F.getCanonicalTree(NewT) : NewT);
1025 ImmutableSet remove(ImmutableSet Old, value_type_ref V) {
1027 return ImmutableSet(Canonicalize ? F.getCanonicalTree(NewT) : NewT);
1048 bool operator==(const ImmutableSet &RHS) const {
1052 bool operator!=(const ImmutableSet &RHS) const {
1082 typedef ImutAVLValueIterator<ImmutableSet> iterator;
1093 static void Profile(FoldingSetNodeID &ID, const ImmutableSet &S) {
1106 // NOTE: This may some day replace the current ImmutableSet.
1164 ImmutableSet<ValT> asImmutableSet(bool canonicalize = true) const {
1165 return ImmutableSet<ValT>(canonicalize ?