Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ScanQueryOperator.cs
Go to the documentation of this file.
3
5
6internal sealed class ScanQueryOperator<TElement> : QueryOperator<TElement>
7{
26
27 private readonly IEnumerable<TElement> _data;
28
30
32 {
33 get
34 {
36 {
37 return OrdinalIndexState.Correct;
38 }
39 return OrdinalIndexState.Indexable;
40 }
41 }
42
43 internal override bool LimitsParallelism => false;
44
54
55 internal override QueryResults<TElement> Open(QuerySettings settings, bool preferStriping)
56 {
58 {
59 return new ListQueryResults<TElement>(source, settings.DegreeOfParallelism.GetValueOrDefault(), preferStriping);
60 }
61 return new ScanEnumerableQueryOperatorResults(_data, settings);
62 }
63
68
70 {
71 return _data;
72 }
73}
override void GivePartitionedStream(IPartitionedStreamRecipient< TElement > recipient)
ScanEnumerableQueryOperatorResults(IEnumerable< TElement > data, QuerySettings settings)
readonly IEnumerable< TElement > _data
override IEnumerator< TElement > GetEnumerator(ParallelMergeOptions? mergeOptions, bool suppressOrderPreservation)
override QueryResults< TElement > Open(QuerySettings settings, bool preferStriping)
ScanQueryOperator(IEnumerable< TElement > data)
override IEnumerable< TElement > AsSequentialQuery(CancellationToken token)
new IEnumerator< T > GetEnumerator()