init commit
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace Org.BouncyCastle.Utilities.Collections;
|
||||
|
||||
public class HashSet : ISet, ICollection, IEnumerable
|
||||
{
|
||||
private readonly IDictionary impl = Platform.CreateHashtable();
|
||||
|
||||
public virtual int Count => impl.Count;
|
||||
|
||||
public virtual bool IsEmpty => impl.Count == 0;
|
||||
|
||||
public virtual bool IsFixedSize => impl.IsFixedSize;
|
||||
|
||||
public virtual bool IsReadOnly => impl.IsReadOnly;
|
||||
|
||||
public virtual bool IsSynchronized => impl.IsSynchronized;
|
||||
|
||||
public virtual object SyncRoot => impl.SyncRoot;
|
||||
|
||||
public HashSet()
|
||||
{
|
||||
}
|
||||
|
||||
public HashSet(IEnumerable s)
|
||||
{
|
||||
foreach (object item in s)
|
||||
{
|
||||
Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void Add(object o)
|
||||
{
|
||||
impl[o] = null;
|
||||
}
|
||||
|
||||
public virtual void AddAll(IEnumerable e)
|
||||
{
|
||||
foreach (object item in e)
|
||||
{
|
||||
Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void Clear()
|
||||
{
|
||||
impl.Clear();
|
||||
}
|
||||
|
||||
public virtual bool Contains(object o)
|
||||
{
|
||||
return impl.Contains(o);
|
||||
}
|
||||
|
||||
public virtual void CopyTo(Array array, int index)
|
||||
{
|
||||
impl.Keys.CopyTo(array, index);
|
||||
}
|
||||
|
||||
public virtual IEnumerator GetEnumerator()
|
||||
{
|
||||
return impl.Keys.GetEnumerator();
|
||||
}
|
||||
|
||||
public virtual void Remove(object o)
|
||||
{
|
||||
impl.Remove(o);
|
||||
}
|
||||
|
||||
public virtual void RemoveAll(IEnumerable e)
|
||||
{
|
||||
foreach (object item in e)
|
||||
{
|
||||
Remove(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user