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.
863 // definitions used by ImutAVLTree, ImmutableSet, and ImmutableMap. These
926 class ImmutableSet {
940 explicit ImmutableSet(TreeTy* R) : Root(R) {
943 ImmutableSet(const ImmutableSet &X) : Root(X.Root) {
946 ImmutableSet &operator=(const ImmutableSet &X) {
954 ~ImmutableSet() {
970 ImmutableSet getEmptySet() {
971 return ImmutableSet(F.getEmptyTree());
981 ImmutableSet add(ImmutableSet Old, value_type_ref V) {
983 return ImmutableSet(Canonicalize ? F.getCanonicalTree(NewT) : NewT);
993 ImmutableSet remove(ImmutableSet Old, value_type_ref V) {
995 return ImmutableSet(Canonicalize ? F.getCanonicalTree(NewT) : NewT);
1016 bool operator==(const ImmutableSet &RHS) const {
1020 bool operator!=(const ImmutableSet &RHS) const {
1053 friend class ImmutableSet<ValT,ValInfo>;
1075 static inline void Profile(FoldingSetNodeID& ID, const ImmutableSet& S) {
1090 // NOTE: This may some day replace the current ImmutableSet.
1148 ImmutableSet<ValT> asImmutableSet(bool canonicalize = true) const {
1149 return ImmutableSet<ValT>(canonicalize ?