예제 #1
0
        public CompositeSet(Set a, Set b, Func<Set, Set, object, bool> compositor)
        {
            A = a;
              B = b;

              if (compositor == null) throw new ArgumentNullException("compositor");
              this.compositor = compositor;
        }
예제 #2
0
 public static Set Subtraction(Set a, Set b)
 {
     return new CompositeSet(a, b, (s1, s2, item) => s1.Contains(item) && !s2.Contains(item));
 }
예제 #3
0
 public static Set Union(Set a, Set b)
 {
     return new CompositeSet(a, b, (s1, s2, item) => s1.Contains(item) || s2.Contains(item));
 }
예제 #4
0
 public static Set Intersection(Set a, Set b)
 {
     return new CompositeSet(a, b, (s1, s2, item) => s1.Contains(item) && s2.Contains(item));
 }