1 type derived from MutableIntervalTree
Microsoft.CodeAnalysis.Workspaces (1)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\SimpleMutableIntervalTree`2.cs (1)
11
internal class SimpleMutableIntervalTree<T, TIntrospector> :
MutableIntervalTree
<T>
2 instantiations of MutableIntervalTree
Microsoft.CodeAnalysis.Workspaces (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\MutableIntervalTree`1.cs (2)
23
public static readonly MutableIntervalTree<T> Empty =
new
();
30
var result = new
MutableIntervalTree
<T>();
21 references to MutableIntervalTree
Microsoft.CodeAnalysis.Workspaces (14)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\MutableIntervalTree`1.cs (14)
23
public static readonly
MutableIntervalTree
<T> Empty = new();
27
public static
MutableIntervalTree
<T> Create<TIntrospector>(in TIntrospector introspector, IEnumerable<T> values)
30
var
result = new MutableIntervalTree<T>();
41
public IntervalTreeAlgorithms<T,
MutableIntervalTree
<T>> Algorithms => new(this);
44
=> IntervalTreeHelpers<T,
MutableIntervalTree
<T>, Node, BinaryIntervalTreeWitness>.Any(this, start, length, in introspector, in intervalTester);
51
return IntervalTreeHelpers<T,
MutableIntervalTree
<T>, Node, BinaryIntervalTreeWitness>.FillWithIntervalsThatMatch(
127
public IntervalTreeHelpers<T,
MutableIntervalTree
<T>, Node, BinaryIntervalTreeWitness>.Enumerator GetEnumerator()
128
=> IntervalTreeHelpers<T,
MutableIntervalTree
<T>, Node, BinaryIntervalTreeWitness>.GetEnumerator(this);
150
internal readonly struct BinaryIntervalTreeWitness : IIntervalTreeWitness<T,
MutableIntervalTree
<T>, Node>
152
public T GetValue(
MutableIntervalTree
<T> tree, Node node)
155
public Node GetMaxEndNode(
MutableIntervalTree
<T> tree, Node node)
158
public bool TryGetRoot(
MutableIntervalTree
<T> tree, [NotNullWhen(true)] out Node? root)
164
public bool TryGetLeftNode(
MutableIntervalTree
<T> tree, Node node, [NotNullWhen(true)] out Node? leftNode)
170
public bool TryGetRightNode(
MutableIntervalTree
<T> tree, Node node, [NotNullWhen(true)] out Node? rightNode)
Microsoft.CodeAnalysis.Workspaces.UnitTests (7)
UtilityTest\IntervalTreeTests.cs (7)
265
private static
MutableIntervalTree
<int> CreateIntTree(params int[] values)
266
=>
MutableIntervalTree
<int>.Create(new Int32Introspector(), values);
305
var
tree =
MutableIntervalTree
<int>.Create(new Int32Introspector(), [1, 0]);
358
return ((
MutableIntervalTree
<Tuple<int, int, string>>)tree).Algorithms.HasIntervalThatIntersectsWith(position, new TupleIntrospector<string>());
363
return ((
MutableIntervalTree
<Tuple<int, int, string>>)tree).Algorithms.GetIntervalsThatIntersectWith(start, length, new TupleIntrospector<string>());
368
return ((
MutableIntervalTree
<Tuple<int, int, string>>)tree).Algorithms.GetIntervalsThatOverlapWith(start, length, new TupleIntrospector<string>());