16 instantiations of SegmentedArray
Microsoft.CodeAnalysis.Workspaces (16)
src\Compilers\Core\Portable\InternalUtilities\StringTable.cs (1)
66private static readonly SegmentedArray<Entry> s_sharedTable = new SegmentedArray<Entry>(SharedSize);
src\Dependencies\Collections\Segmented\SegmentedArray`1.cs (1)
152return new SegmentedArray<T>(Length, items);
src\Dependencies\Collections\Segmented\SegmentedArray`1+PrivateMarshal.cs (1)
21=> new SegmentedArray<T>(length, segments);
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (3)
495var buckets = new SegmentedArray<int>(size); 496var entries = new SegmentedArray<Entry>(size); 657_buckets = new SegmentedArray<int>(newSize);
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (3)
910_buckets = new SegmentedArray<int>(newSize); 1001var buckets = new SegmentedArray<int>(size); 1002var entries = new SegmentedArray<Entry>(size);
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (4)
44private static readonly SegmentedArray<T> s_emptyArray = new(0); 68_items = new SegmentedArray<T>(capacity); 97_items = new SegmentedArray<T>(count); 148_items = new SegmentedArray<T>(value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\ImmutableIntervalTree`1.cs (2)
25public static readonly ImmutableIntervalTree<T> Empty = new(new SegmentedArray<Node>(0)); 86var array = new SegmentedArray<Node>(values.Count);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (1)
66_cachedOriginalTriviaInfo = new SegmentedArray<TriviaData>(this.TokenCount - 1);
146 references to SegmentedArray
Microsoft.CodeAnalysis.Workspaces (146)
src\Compilers\Core\Portable\InternalUtilities\StringTable.cs (9)
66private static readonly SegmentedArray<Entry> s_sharedTable = new SegmentedArray<Entry>(SharedSize); 288var arr = s_sharedTable; 323var arr = s_sharedTable; 358var arr = s_sharedTable; 393var arr = s_sharedTable; 427var arr = s_sharedTable; 462var arr = s_sharedTable; 537var arr = s_sharedTable; 626var arr = s_sharedTable;
src\Dependencies\Collections\Internal\ArraySortHelper.cs (4)
51public static int BinarySearch(SegmentedArray<T> array, int index, int length, T value, IComparer<T>? comparer) 84internal static int InternalBinarySearch(SegmentedArray<T> array, int index, int length, T value, IComparer<T> comparer) 341public static int BinarySearch(SegmentedArray<T> array, int index, int length, T value, IComparer<T>? comparer) 366private static int BinarySearch(SegmentedArray<T> array, int index, int length, T value)
src\Dependencies\Collections\Internal\SegmentedArraySegment`1.cs (2)
11public SegmentedArray<T> Array { get; } 15public SegmentedArraySegment(SegmentedArray<T> array, int start, int length)
src\Dependencies\Collections\Segmented\SegmentedArray.cs (50)
21internal static void Clear<T>(SegmentedArray<T> array) 25internal static void Clear<T>(SegmentedArray<T> array, int index, int length) 34internal static void Copy<T>(SegmentedArray<T> sourceArray, SegmentedArray<T> destinationArray, int length) 52public static void Copy<T>(SegmentedArray<T> sourceArray, Array destinationArray, int length) 79public static void Copy<T>(SegmentedArray<T> sourceArray, int sourceIndex, SegmentedArray<T> destinationArray, int destinationIndex, int length) 112private static void CopyOverlapped<T>(SegmentedArray<T> array, int sourceIndex, int destinationIndex, int length) 138public static void Copy<T>(SegmentedArray<T> sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length) 174public static int BinarySearch<T>(SegmentedArray<T> array, T value) 179public static int BinarySearch<T>(SegmentedArray<T> array, T value, IComparer<T>? comparer) 184public static int BinarySearch<T>(SegmentedArray<T> array, int index, int length, T value) 189public static int BinarySearch<T>(SegmentedArray<T> array, int index, int length, T value, IComparer<T>? comparer) 201public static int IndexOf<T>(SegmentedArray<T> array, T value) 206public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex) 211public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count) 216public static int IndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 266public static int LastIndexOf<T>(SegmentedArray<T> array, T value) 271public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex) 276public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count) 281public static int LastIndexOf<T>(SegmentedArray<T> array, T value, int startIndex, int count, IEqualityComparer<T>? comparer) 335public static void Reverse<T>(SegmentedArray<T> array) 340public static void Reverse<T>(SegmentedArray<T> array, int index, int length) 364public static void Sort<T>(SegmentedArray<T> array) 373public static void Sort<T>(SegmentedArray<T> array, int index, int length) 378public static void Sort<T>(SegmentedArray<T> array, IComparer<T>? comparer) 383public static void Sort<T>(SegmentedArray<T> array, int index, int length, IComparer<T>? comparer) 399public static void Sort<T>(SegmentedArray<T> array, Comparison<T> comparison) 413private static SegmentEnumerable<T> GetSegments<T>(this SegmentedArray<T> array, int offset, int length) 416private static AlignedSegmentEnumerable<T> GetSegments<T>(SegmentedArray<T> first, SegmentedArray<T> second, int length) 420private static AlignedSegmentEnumerable<T> GetSegmentsAligned<T>(SegmentedArray<T> first, int firstOffset, SegmentedArray<T> second, int secondOffset, int length) 424private static UnalignedSegmentEnumerable<T> GetSegmentsUnaligned<T>(SegmentedArray<T> first, int firstOffset, SegmentedArray<T> second, int secondOffset, int length) 429private readonly SegmentedArray<T> _first; 431private readonly SegmentedArray<T> _second; 435public AlignedSegmentEnumerable(SegmentedArray<T> first, SegmentedArray<T> second, int length) 440public AlignedSegmentEnumerable(SegmentedArray<T> first, int firstOffset, SegmentedArray<T> second, int secondOffset, int length) 515private readonly SegmentedArray<T> _first; 517private readonly SegmentedArray<T> _second; 521public UnalignedSegmentEnumerable(SegmentedArray<T> first, SegmentedArray<T> second, int length) 526public UnalignedSegmentEnumerable(SegmentedArray<T> first, int firstOffset, SegmentedArray<T> second, int secondOffset, int length) 658private readonly SegmentedArray<T> _array; 662public SegmentEnumerable(SegmentedArray<T> array) 669public SegmentEnumerable(SegmentedArray<T> array, int offset, int length)
src\Dependencies\Collections\Segmented\SegmentedArray`1.cs (7)
22internal readonly partial struct SegmentedArray<T> : ICloneable, IList, IStructuralComparable, IStructuralEquatable, IList<T>, IReadOnlyList<T>, IEquatable<SegmentedArray<T>> 177return obj is SegmentedArray<T> other 186public bool Equals(SegmentedArray<T> other) 312if (other is not SegmentedArray<T> o 333if (other is not SegmentedArray<T> o) 377public Enumerator(SegmentedArray<T> array) 423public static int SegmentSize => SegmentedArray<T>.SegmentSize;
src\Dependencies\Collections\Segmented\SegmentedArray`1+PrivateMarshal.cs (3)
16/// <inheritdoc cref="SegmentedCollectionsMarshal.AsSegments{T}(SegmentedArray{T})"/> 17public static T[][] AsSegments(SegmentedArray<T> array) 20public static SegmentedArray<T> AsSegmentedArray(int length, T[][] segments)
src\Dependencies\Collections\Segmented\SegmentedCollectionsMarshal.cs (11)
18/// Gets the backing storage array for a <see cref="SegmentedArray{T}"/>. 23/// value will invalidate the <see cref="SegmentedArray{T}"/> data structure.</returns> 24public static T[][] AsSegments<T>(SegmentedArray<T> array) 25=> SegmentedArray<T>.PrivateMarshal.AsSegments(array); 28/// Gets a <see cref="SegmentedArray{T}"/> value wrapping the input T[][]. 32/// <param name="segments">The input array to wrap in the returned <see cref="SegmentedArray{T}"/> value.</param> 33/// <returns>A <see cref="SegmentedArray{T}"/> value wrapping <paramref name="segments"/>.</returns> 37/// array, and that it won't be modified once the returned <see cref="SegmentedArray{T}"/> value starts 39/// <see cref="SegmentedArray{T}"/> values to change outside their control. 43public static SegmentedArray<T> AsSegmentedArray<T>(int length, T[][] segments) 44=> SegmentedArray<T>.PrivateMarshal.AsSegmentedArray(length, segments);
src\Dependencies\Collections\Segmented\SegmentedDictionary`2.cs (25)
48private SegmentedArray<int> _buckets; 49private SegmentedArray<Entry> _entries; 171var oldEntries = source._entries; 318var entries = _entries; 376var entries = _entries; 416var entries = _entries; 450var entries = _entries; 495var buckets = new SegmentedArray<int>(size); 496var entries = new SegmentedArray<Entry>(size); 520var entries = _entries; 654var entries = CreateNewSegmentedArrayReusingOldSegments(_entries, newSize); 672private static SegmentedArray<Entry> CreateNewSegmentedArrayReusingOldSegments(SegmentedArray<Entry> oldArray, int newSize) 715var entries = _entries; 792var entries = _entries; 908var entries = _entries; 928var entries = _entries; 1005var oldEntries = _entries; 1019private void CopyEntries(SegmentedArray<Entry> entries, int count) 1021var newEntries = _entries; 1155var buckets = _buckets; 1331var entries = _dictionary._entries; 1410var entries = _dictionary._entries; 1539var entries = _dictionary._entries; 1618var entries = _dictionary._entries;
src\Dependencies\Collections\Segmented\SegmentedHashSet`1.cs (20)
55private SegmentedArray<int> _buckets; 56private SegmentedArray<Entry> _entries; 167_buckets = (SegmentedArray<int>)source._buckets.Clone(); 168_entries = (SegmentedArray<Entry>)source._entries.Clone(); 178var entries = source._entries; 223var buckets = _buckets; 226var entries = _entries; 287var buckets = _buckets; 295var entries = _entries; 821var entries = _entries; 841var entries = _entries; 907var entries = CreateNewSegmentedArrayReusingOldSegments(_entries, newSize); 926private static SegmentedArray<Entry> CreateNewSegmentedArrayReusingOldSegments(SegmentedArray<Entry> oldArray, int newSize) 957var oldEntries = _entries; 967var entries = _entries; 1001var buckets = new SegmentedArray<int>(size); 1002var entries = new SegmentedArray<Entry>(size); 1025var entries = _entries; 1149var entries = _entries;
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (9)
40internal SegmentedArray<T> _items; 44private static readonly SegmentedArray<T> s_emptyArray = new(0); 82_items = (SegmentedArray<T>)segmentedList._items.Clone(); 158private static SegmentedArray<T> CreateNewSegmentedArrayReusingOldSegments(SegmentedArray<T> oldArray, int newSize) 253var array = _items; 318else if (c is SegmentedArray<T> array) 930else if (c is SegmentedArray<T> array) 1394public ref SegmentedArray<T> Items => ref instance._items;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\ImmutableIntervalTree`1.cs (5)
37private readonly SegmentedArray<Node> _array; 39private ImmutableIntervalTree(SegmentedArray<Node> array) 86var array = new SegmentedArray<Node>(values.Count); 97SegmentedList<T> source, int sourceStartInclusive, int sourceEndExclusive, SegmentedArray<Node> destination, int destinationIndex) 212static int ComputeMaxEndNodes(SegmentedArray<Node> array, int currentNodeIndex, in TIntrospector introspector)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (1)
31private readonly SegmentedArray<TriviaData> _cachedOriginalTriviaInfo;