<PackageReference Include="Microsoft.Packaging.Tools" Version="1.0.0-preview2-25401-01" />

System.Collections.Immutable.ImmutableList<T>

namespace System.Collections.Immutable { public sealed class ImmutableList<T> : IImmutableList<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, IList<T>, ICollection<T>, IList, ICollection, IOrderedCollection<T>, IImmutableListQueries<T>, IStrongEnumerable<T, ImmutableList<T>.Enumerator> { public sealed class Builder : IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable, IList, ICollection, IOrderedCollection<T>, IImmutableListQueries<T>, IReadOnlyList<T>, IReadOnlyCollection<T> { public int Count { get; } public T this[int index] { get; set; } T IOrderedCollection<T>.this[int index] { get; } object IList.this[int index] { get; set; } public int IndexOf(T item); public void Insert(int index, T item); public void RemoveAt(int index); public void Add(T item); public void Clear(); public bool Contains(T item); public bool Remove(T item); public Enumerator GetEnumerator(); public void ForEach(Action<T> action); public void CopyTo(T[] array); public void CopyTo(T[] array, int arrayIndex); public void CopyTo(int index, T[] array, int arrayIndex, int count); public ImmutableList<T> GetRange(int index, int count); public ImmutableList<TOutput> ConvertAll<TOutput>(Func<T, TOutput> converter); public bool Exists(Predicate<T> match); public T Find(Predicate<T> match); public ImmutableList<T> FindAll(Predicate<T> match); public int FindIndex(Predicate<T> match); public int FindIndex(int startIndex, Predicate<T> match); public int FindIndex(int startIndex, int count, Predicate<T> match); public T FindLast(Predicate<T> match); public int FindLastIndex(Predicate<T> match); public int FindLastIndex(int startIndex, Predicate<T> match); public int FindLastIndex(int startIndex, int count, Predicate<T> match); public int IndexOf(T item, int index); public int IndexOf(T item, int index, int count); public int IndexOf(T item, int index, int count, IEqualityComparer<T> equalityComparer); public int LastIndexOf(T item); public int LastIndexOf(T item, int startIndex); public int LastIndexOf(T item, int startIndex, int count); public int LastIndexOf(T item, int startIndex, int count, IEqualityComparer<T> equalityComparer); public bool TrueForAll(Predicate<T> match); public void AddRange(IEnumerable<T> items); public void InsertRange(int index, IEnumerable<T> items); public int RemoveAll(Predicate<T> match); public void Reverse(); public void Reverse(int index, int count); public void Sort(); public void Sort(Comparison<T> comparison); public void Sort(IComparer<T> comparer); public void Sort(int index, int count, IComparer<T> comparer); public int BinarySearch(T item); public int BinarySearch(T item, IComparer<T> comparer); public int BinarySearch(int index, int count, T item, IComparer<T> comparer); public ImmutableList<T> ToImmutable(); } public struct Enumerator : IEnumerator<T>, IEnumerator, IDisposable, ISecurePooledObjectUser, IStrongEnumerator<T> { public T Current { get; } public void Dispose(); public bool MoveNext(); public void Reset(); } public static readonly ImmutableList<T> Empty; public bool IsEmpty { get; } public int Count { get; } public T this[int index] { get; } T IOrderedCollection<T>.this[int index] { get; } T IList<T>.this[int index] { get; set; } object IList.this[int index] { get; set; } public ImmutableList<T> Clear(); public int BinarySearch(T item); public int BinarySearch(T item, IComparer<T> comparer); public int BinarySearch(int index, int count, T item, IComparer<T> comparer); public Builder ToBuilder(); public ImmutableList<T> Add(T value); public ImmutableList<T> AddRange(IEnumerable<T> items); public ImmutableList<T> Insert(int index, T item); public ImmutableList<T> InsertRange(int index, IEnumerable<T> items); public ImmutableList<T> Remove(T value); public ImmutableList<T> Remove(T value, IEqualityComparer<T> equalityComparer); public ImmutableList<T> RemoveRange(int index, int count); public ImmutableList<T> RemoveRange(IEnumerable<T> items); public ImmutableList<T> RemoveRange(IEnumerable<T> items, IEqualityComparer<T> equalityComparer); public ImmutableList<T> RemoveAt(int index); public ImmutableList<T> RemoveAll(Predicate<T> match); public ImmutableList<T> SetItem(int index, T value); public ImmutableList<T> Replace(T oldValue, T newValue); public ImmutableList<T> Replace(T oldValue, T newValue, IEqualityComparer<T> equalityComparer); public ImmutableList<T> Reverse(); public ImmutableList<T> Reverse(int index, int count); public ImmutableList<T> Sort(); public ImmutableList<T> Sort(Comparison<T> comparison); public ImmutableList<T> Sort(IComparer<T> comparer); public ImmutableList<T> Sort(int index, int count, IComparer<T> comparer); public void ForEach(Action<T> action); public void CopyTo(T[] array); public void CopyTo(T[] array, int arrayIndex); public void CopyTo(int index, T[] array, int arrayIndex, int count); public ImmutableList<T> GetRange(int index, int count); public ImmutableList<TOutput> ConvertAll<TOutput>(Func<T, TOutput> converter); public bool Exists(Predicate<T> match); public T Find(Predicate<T> match); public ImmutableList<T> FindAll(Predicate<T> match); public int FindIndex(Predicate<T> match); public int FindIndex(int startIndex, Predicate<T> match); public int FindIndex(int startIndex, int count, Predicate<T> match); public T FindLast(Predicate<T> match); public int FindLastIndex(Predicate<T> match); public int FindLastIndex(int startIndex, Predicate<T> match); public int FindLastIndex(int startIndex, int count, Predicate<T> match); public int IndexOf(T item, int index, int count, IEqualityComparer<T> equalityComparer); public int LastIndexOf(T item, int index, int count, IEqualityComparer<T> equalityComparer); public bool TrueForAll(Predicate<T> match); public bool Contains(T value); public int IndexOf(T value); public Enumerator GetEnumerator(); } }