Class MergedEnumerator<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 Enumerator`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 Enumerator`1. remove Duplicates false
then the order in which duplicates are returned isn't defined.
The caller is responsible for disposing the System.Collections.Generic.IEnumerator<T> instances that are passed into the constructor, MergedEnumerator<T> doesn't do it automatically.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Inheritance
System.Object
MergedEnumerator<T>
Implements
System.Collections.Generic.IEnumerator <T>
System.Collections.IEnumerator
System.IDisposable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Lucene.Net.Util
Assembly: Lucene.Net.dll
Syntax
public sealed class MergedEnumerator<T> : IEnumerator<T>, IEnumerator, IDisposable where T : IComparable<T>
Type Parameters
Name | Description |
---|---|
T |
Constructors
| Improve this Doc View SourceMergedEnumerator(Boolean, IEnumerator<T>[])
Declaration
public MergedEnumerator(bool removeDuplicates, params IEnumerator<T>[] enumerators)
Parameters
Type | Name | Description |
---|---|---|
System. |
removeDuplicates | |
System. |
enumerators |
MergedEnumerator(Boolean, IList<IEnumerator<T>>)
Declaration
public MergedEnumerator(bool removeDuplicates, IList<IEnumerator<T>> enumerators)
Parameters
Type | Name | Description |
---|---|---|
System. |
removeDuplicates | |
System. |
enumerators |
MergedEnumerator(IEnumerator<T>[])
Declaration
public MergedEnumerator(params IEnumerator<T>[] enumerators)
Parameters
Type | Name | Description |
---|---|---|
System. |
enumerators |
MergedEnumerator(IList<IEnumerator<T>>)
Declaration
public MergedEnumerator(IList<IEnumerator<T>> enumerators)
Parameters
Type | Name | Description |
---|---|---|
System. |
enumerators |
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()
Explicit Interface Implementations
| Improve this Doc View SourceIEnumerator.Current
Declaration
object IEnumerator.Current { get; }
Returns
Type | Description |
---|---|
System. |
Implements
System.Collections.Generic.IEnumerator<T>
System.Collections.IEnumerator
System.IDisposable