/// <summary> /// Constructor /// </summary> /// <param name="behaviour">Behaviour</param> /// <param name="max">Max</param> /// <param name="key">Key</param> /// <param name="order">Order</param> public Pool(PoolMaxBehaviour behaviour, uint max, Func <TValue, TKey> key, Comparison <TValue> order) { Behaviour = behaviour; Max = max; _key = key; _order = order; _isSorted = false; _list = new List <Entry>(); }
/// <summary> /// Constructor /// </summary> /// <param name="behaviour">Behaviour</param> /// <param name="max">Max</param> /// <param name="key">Key</param> /// <param name="order">Order</param> public Pool(PoolMaxBehaviour behaviour, int max, Func <TValue, TKey> key, Comparison <TValue> order) { if (max <= 0) { throw new ArgumentException(nameof(max)); } Behaviour = behaviour; Max = max; _key = key; _order = order; _isSorted = false; _list = new List <Entry>(); _comparer = new EntryComparer(); }
/// <summary> /// Constructor /// </summary> /// <param name="behaviour">Behaviour</param> /// <param name="max">Max</param> /// <param name="key">Key</param> /// <param name="order">Order</param> public StampedPool(PoolMaxBehaviour behaviour, uint max, Func <Stamp <TValue>, TKey> key, Comparison <Stamp <TValue> > order) : base(behaviour, max, key, order) { }