#if !NET_4_6 using System; using System.Collections.Generic; namespace LinqInternal.Collections.ThreadSafe { internal interface IBucket : IEnumerable { int Count { get; } void CopyTo(T[] array, int arrayIndex); bool Exchange(int index, T item, out T previous); bool Insert(int index, T item); bool Insert(int index, T item, out T previous); bool RemoveAt(int index); bool RemoveAt(int index, out T previous); bool RemoveAt(int index, Predicate check); void Set(int index, T item, out bool isNew); bool TryGet(int index, out T value); bool Update(int index, Func itemUpdateFactory, Predicate check, out bool isEmpty); IEnumerable Where(Predicate check); } } #endif