public SlimHashTable(Func <TValue, TKey> keyProvider, int capacity, IEqualityComparer <TKey> comparer, ICollectionGrowthPolicy growthPolicy) { Invariants.CheckArgumentNotNull(keyProvider, nameof(keyProvider)); Invariants.CheckArgument(capacity >= 0, nameof(capacity), "Capacity must be positive"); Invariants.CheckArgumentNotNull(comparer, nameof(comparer)); Invariants.CheckArgumentNotNull(growthPolicy, nameof(growthPolicy)); _getKey = keyProvider; _capacity = capacity; _comparer = comparer; _growthPolicy = growthPolicy; var length = GetPrimeLength(capacity); Initialize(length); }
public ConcurrentHashSet(int capacity, IEqualityComparer <T> comparer, ICollectionGrowthPolicy growthPolicy) { _table = new SlimHashTable <T, T>(t => t, capacity, comparer, growthPolicy); }
public ConcurrentHashSet(int capacity, ICollectionGrowthPolicy growthPolicy) : this(capacity, EqualityComparer <T> .Default, growthPolicy) { }
public ConcurrentHashSet(ICollectionGrowthPolicy growthPolicy) : this(0, EqualityComparer <T> .Default, growthPolicy) { }
public SlimHashTable(Func <TValue, TKey> keyProvider, IEqualityComparer <TKey> comparer, ICollectionGrowthPolicy growthPolicy) : this(keyProvider, 0, comparer, growthPolicy) { }
public SlimHashTable(Func <TValue, TKey> keyProvider, int capacity, ICollectionGrowthPolicy growthPolicy) : this(keyProvider, capacity, EqualityComparer <TKey> .Default, growthPolicy) { }