Class MergedIterator<T>
Provides a merged sorted view from several sorted iterators.
If built with Lucene.true
and an element
appears in multiple iterators then it is deduplicated, that is this iterator
returns the sorted union of elements.
If built with Lucene.false
then all elements
in all iterators are returned.
Caveats:
- The behavior is undefined if the iterators are not actually sorted.
- Null elements are unsupported.
- If Lucene.
Net. is set toUtil. Merged Iterator`1. remove Duplicates true
and if a single iterator contains duplicates then they will not be deduplicated. - When elements are deduplicated it is not defined which one is returned.
- If Lucene.
Net. is set toUtil. Merged Iterator`1. remove Duplicates false
then the order in which duplicates are returned isn't defined.
The caller is responsible for disposing the
This is a Lucene.NET INTERNAL API, use at your own risk
Inheritance
System.Object
MergedIterator<T>
Namespace: Lucene.Net.Util
Assembly: Lucene.Net.dll
Syntax
public sealed class MergedIterator<T> : IEnumerator<T> where T : IComparable<T>
Type Parameters
Name | Description |
---|---|
T |
Constructors
| Improve this Doc View SourceMergedIterator(IEnumerator<T>[])
Declaration
public MergedIterator(params IEnumerator<T>[] iterators)
Parameters
Type | Name | Description |
---|---|---|
IEnumerator<T>[] | iterators |
MergedIterator(Boolean, IEnumerator<T>[])
Declaration
public MergedIterator(bool removeDuplicates, params IEnumerator<T>[] iterators)
Parameters
Type | Name | Description |
---|---|---|
System. |
removeDuplicates | |
IEnumerator<T>[] | iterators |
Properties
| Improve this Doc View SourceCurrent
Declaration
public T Current { get; }
Property Value
Type | Description |
---|---|
T |
Methods
| Improve this Doc View SourceDispose()
Declaration
public void Dispose()
MoveNext()
Declaration
public bool MoveNext()
Returns
Type | Description |
---|---|
System. |
Reset()
Declaration
public void Reset()