Class MergedEnumerator<T>
Provides a merged sorted view from several sorted iterators.
If built with Lucene.Net.Util.MergedEnumerator`1.removeDuplicates set to 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.Net.Util.MergedEnumerator`1.removeDuplicates set to 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.Util.MergedEnumerator`1.removeDuplicates is set to trueand 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.Util.MergedEnumerator`1.removeDuplicates is set to falsethen 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.
This is a Lucene.NET INTERNAL API, use at your own risk
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.Boolean | removeDuplicates | |
| System.Collections.Generic.IEnumerator<T>[] | enumerators | 
MergedEnumerator(Boolean, IList<IEnumerator<T>>)
Declaration
public MergedEnumerator(bool removeDuplicates, IList<IEnumerator<T>> enumerators)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Boolean | removeDuplicates | |
| System.Collections.Generic.IList<System.Collections.Generic.IEnumerator<T>> | enumerators | 
MergedEnumerator(IEnumerator<T>[])
Declaration
public MergedEnumerator(params IEnumerator<T>[] enumerators)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Collections.Generic.IEnumerator<T>[] | enumerators | 
MergedEnumerator(IList<IEnumerator<T>>)
Declaration
public MergedEnumerator(IList<IEnumerator<T>> enumerators)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Collections.Generic.IList<System.Collections.Generic.IEnumerator<T>> | 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.Boolean | 
Reset()
Declaration
public void Reset()Explicit Interface Implementations
| Improve this Doc View SourceIEnumerator.Current
Declaration
object IEnumerator.Current { get; }Returns
| Type | Description | 
|---|---|
| System.Object | 
Implements
      System.Collections.Generic.IEnumerator<T>
  
  
      System.Collections.IEnumerator
  
  
      System.IDisposable