Class MergedEnumerator<T>
Provides a merged sorted view from several sorted iterators.
If built with removeDuplicates set totrue and an element
appears in multiple iterators then it is deduplicated, that is this iterator
returns the sorted union of elements.
If built with 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 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 removeDuplicates is set to
falsethen the order in which duplicates are returned isn't defined.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Inherited Members
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
MergedEnumerator(bool, params IEnumerator<T>[])
Provides a merged sorted view from several sorted iterators.
If built with removeDuplicates set totrue and an element
appears in multiple iterators then it is deduplicated, that is this iterator
returns the sorted union of elements.
If built with 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 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 removeDuplicates is set to
falsethen the order in which duplicates are returned isn't defined.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Declaration
public MergedEnumerator(bool removeDuplicates, params IEnumerator<T>[] enumerators)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | removeDuplicates | |
| IEnumerator<T>[] | enumerators |
MergedEnumerator(bool, IList<IEnumerator<T>>)
Provides a merged sorted view from several sorted iterators.
If built with removeDuplicates set totrue and an element
appears in multiple iterators then it is deduplicated, that is this iterator
returns the sorted union of elements.
If built with 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 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 removeDuplicates is set to
falsethen the order in which duplicates are returned isn't defined.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Declaration
public MergedEnumerator(bool removeDuplicates, IList<IEnumerator<T>> enumerators)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | removeDuplicates | |
| IList<IEnumerator<T>> | enumerators |
MergedEnumerator(params IEnumerator<T>[])
Provides a merged sorted view from several sorted iterators.
If built with removeDuplicates set totrue and an element
appears in multiple iterators then it is deduplicated, that is this iterator
returns the sorted union of elements.
If built with 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 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 removeDuplicates is set to
falsethen the order in which duplicates are returned isn't defined.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Declaration
public MergedEnumerator(params IEnumerator<T>[] enumerators)
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerator<T>[] | enumerators |
MergedEnumerator(IList<IEnumerator<T>>)
Provides a merged sorted view from several sorted iterators.
If built with removeDuplicates set totrue and an element
appears in multiple iterators then it is deduplicated, that is this iterator
returns the sorted union of elements.
If built with 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 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 removeDuplicates is set to
falsethen the order in which duplicates are returned isn't defined.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Declaration
public MergedEnumerator(IList<IEnumerator<T>> enumerators)
Parameters
| Type | Name | Description |
|---|---|---|
| IList<IEnumerator<T>> | enumerators |
Properties
Current
Gets the element in the collection at the current position of the enumerator.
Declaration
public T Current { get; }
Property Value
| Type | Description |
|---|---|
| T | The element in the collection at the current position of the enumerator. |
Methods
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Declaration
public void Dispose()
MoveNext()
Advances the enumerator to the next element of the collection.
Declaration
public bool MoveNext()
Returns
| Type | Description |
|---|---|
| bool | true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | The collection was modified after the enumerator was created. |
Reset()
Sets the enumerator to its initial position, which is before the first element in the collection.
Declaration
public void Reset()
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | The collection was modified after the enumerator was created. |
| NotSupportedException | The enumerator does not support being reset. |