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.
903 // definitions used by ImutAVLTree, ImmutableSet, and ImmutableMap. These
961 class ImmutableSet {
975 explicit ImmutableSet(TreeTy* R) : Root(R) {
979 ImmutableSet(const ImmutableSet &X) : Root(X.Root) {
983 ImmutableSet &operator=(const ImmutableSet &X) {
992 ~ImmutableSet() {
1011 ImmutableSet getEmptySet() {
1012 return ImmutableSet(F.getEmptyTree());
1022 ImmutableSet add(ImmutableSet Old, value_type_ref V) {
1024 return ImmutableSet(Canonicalize ? F.getCanonicalTree(NewT) : NewT);
1034 ImmutableSet remove(ImmutableSet Old, value_type_ref V) {
1036 return ImmutableSet(Canonicalize ? F.getCanonicalTree(NewT) : NewT);
1053 bool operator==(const ImmutableSet &RHS) const {
1057 bool operator!=(const ImmutableSet &RHS) const {
1087 typedef ImutAVLValueIterator<ImmutableSet> iterator;
1098 static void Profile(FoldingSetNodeID &ID, const ImmutableSet &S) {
1111 // NOTE: This may some day replace the current ImmutableSet.
1171 ImmutableSet<ValT> asImmutableSet(bool canonicalize = true) const {
1172 return ImmutableSet<ValT>(canonicalize ?