HashSet <A> Wrap(HashSetInternal <OrdDefault <A>, A> value) => new HashSet <A>(value);
static HashSet <U> Wrap <U>(HashSetInternal <OrdDefault <U>, U> value) => new HashSet <U>(value);
internal HashSet(HashSetInternal <OrdDefault <A>, A> value) { this.value = value; }
/// <summary> /// Ctor that takes an initial (distinct) set of items /// </summary> /// <param name="items"></param> public HashSet(IEnumerable <A> items, bool tryAdd) { value = new HashSetInternal <EqA, A>(items, tryAdd); }
static HashSet <EqB, B> Wrap <EqB, B>(HashSetInternal <EqB, B> value) where EqB : struct, Eq <B> => new HashSet <EqB, B>(value);
HashSet <EqA, A> Wrap(HashSetInternal <EqA, A> value) => new HashSet <EqA, A>(value);
internal HashSet(HashSetInternal <EqA, A> value) { this.value = value; }