public static IMatchSet operator &(IMatchSet a, IMatchSet b) { if (b == null) { return(a); } if (a == null) { return(b); } MatchSet r = new MatchSet(); if (a.Count < b.Count) { foreach (EntryId n in a) { if (b.Contains(n)) { r.Add(n); } } } else { foreach (EntryId n in b) { if (a.Contains(n)) { r.Add(n); } } } return(r); }
public static IMatchSet operator |(IMatchSet a, IMatchSet b) { if (b == null) { return(a); } if (a == null) { return(b); } MatchSet r = new MatchSet(); foreach (EntryId n in a) { r.Add(n); } foreach (EntryId n in b) { r.Add(n); } return(r); }