You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
2.8 KiB
118 lines
2.8 KiB
#if FAT |
|
|
|
using System; |
|
using System.Collections.Generic; |
|
|
|
namespace LinqInternal.Collections.Specialized |
|
{ |
|
internal class EnumerationSet<T> : EnumerationCollection<T>, ISet<T>, IReadOnlySet<T>, IExtendedReadOnlySet<T>, IExtendedSet<T> |
|
{ |
|
public EnumerationSet(IEnumerable<T> wrapped) |
|
: base(wrapped) |
|
{ |
|
//Empty |
|
} |
|
|
|
public EnumerationSet(T[] wrapped) |
|
: base(wrapped) |
|
{ |
|
//Empty |
|
} |
|
|
|
public EnumerationSet(ICollection<T> wrapped) |
|
: base(wrapped) |
|
{ |
|
//Empty |
|
} |
|
|
|
public EnumerationSet(IEnumerable<T> wrapped, Func<int> count) |
|
: base(wrapped, count) |
|
{ |
|
//Empty |
|
} |
|
|
|
public EnumerationSet(IEnumerable<T> wrapped, Func<T, bool> contains) |
|
: base(wrapped, contains) |
|
{ |
|
//Empty |
|
} |
|
|
|
public EnumerationSet(IEnumerable<T> wrapped, Func<int> count, Func<T, bool> contains) |
|
: base(wrapped, count, contains) |
|
{ |
|
//Empty |
|
} |
|
|
|
IReadOnlySet<T> IExtendedSet<T>.AsReadOnly |
|
{ |
|
get { return this; } |
|
} |
|
|
|
bool IExtendedSet<T>.Add(T item) |
|
{ |
|
throw new NotSupportedException(); |
|
} |
|
|
|
bool IExtendedSet<T>.Remove(T item, IEqualityComparer<T> comparer) |
|
{ |
|
throw new NotSupportedException(); |
|
} |
|
|
|
bool ISet<T>.Add(T item) |
|
{ |
|
throw new NotSupportedException(); |
|
} |
|
|
|
void ISet<T>.ExceptWith(IEnumerable<T> other) |
|
{ |
|
throw new NotSupportedException(); |
|
} |
|
|
|
void ISet<T>.IntersectWith(IEnumerable<T> other) |
|
{ |
|
throw new NotSupportedException(); |
|
} |
|
|
|
void ISet<T>.SymmetricExceptWith(IEnumerable<T> other) |
|
{ |
|
throw new NotSupportedException(); |
|
} |
|
|
|
void ISet<T>.UnionWith(IEnumerable<T> other) |
|
{ |
|
throw new NotSupportedException(); |
|
} |
|
|
|
public bool IsProperSubsetOf(IEnumerable<T> other) |
|
{ |
|
return Extensions.IsProperSubsetOf(this, other); |
|
} |
|
|
|
public bool IsProperSupersetOf(IEnumerable<T> other) |
|
{ |
|
return Extensions.IsProperSupersetOf(this, other); |
|
} |
|
|
|
public bool IsSubsetOf(IEnumerable<T> other) |
|
{ |
|
return Extensions.IsSubsetOf(this, other); |
|
} |
|
|
|
public bool IsSupersetOf(IEnumerable<T> other) |
|
{ |
|
return Extensions.IsSupersetOf(this, other); |
|
} |
|
|
|
public bool Overlaps(IEnumerable<T> other) |
|
{ |
|
return Extensions.Overlaps(this, other); |
|
} |
|
|
|
public bool SetEquals(IEnumerable<T> other) |
|
{ |
|
return Extensions.SetEquals(this, other); |
|
} |
|
} |
|
} |
|
|
|
#endif |