[]
        
(Showing Draft Content)

C1.LiveLinq.Indexing.Search.IIndexScanner-1

IIndexScanner<T> Interface

Represents an index or a subindex in its capacity of scanning through data. Provides methods for searching data items.

Namespace: C1.LiveLinq.Indexing.Search
Assembly: C1.LiveLinq.4.8.dll
Syntax
public interface IIndexScanner<T>
Type Parameters
Name Description
T

The type of the elements of the indexed collection.

Remarks

This interface is implemented by Index<T>. It is also used by subindexes, but there it is not directly implemented by Subindex<T>, but rather returned by the IndexQuery<T>.Subindex method because it depends on the item found by an index or a subindex that is the parent of that subindex.

IIndexScanner<T> has a typed key counterpart IIndexScanner<T, TKey> that is used with typed key classes Index<T, TKey> and Subindex<T, TKey>

Properties

Name Description
Definition

Gets an Index<T> or a Subindex<T> definition on which the scanner is based.

KeyCount

Gets the number of distinct key values in all items of this collection.

ParentScanner

Gets an index or a subindex scanner that is the parent of a subindex scanner.

Methods

Name Description
All(Order)

Gets all items in the indexed collection.

ContainsKey(object)

Returns a value that indicates whether the collection contains an item with the given key value.

Find(object)

Finds items with the specified key value.

FindBetween(object, bool, object, bool, Order)

Finds items with key values in the interval between the specified values.

FindGreater(object, bool, Order)

Finds items with keys greater than the specified value.

FindKeys(IEnumerable, Order)

Finds items containing any of the specified key values.

FindLess(object, bool, Order)

Finds items with keys less than the specified value.

FindStartingWith(string, Func<string, bool>, Order)

Finds items with string key values starting with the specified string.

GroupJoin<T2, TResult>(IIndexScanner<T2>, Func<T, IEnumerable<T2>, TResult>)

Correlates the items of this indexed collection with the items of another indexed collection and groups the results by the item of this collection.

GroupJoin<T2, TResult>(IEnumerable<T2>, Func<T2, object>, Func<IEnumerable<T>, T2, TResult>)

Correlates the items of this indexed collection with the items of another sequence and groups the results by the item of the second sequence.

GroupJoin<T2, TResult>(IEnumerable<T2>, Func<T2, object>, Func<T, IEnumerable<T2>, TResult>)

Correlates the items of this indexed collection with the items of another sequence and groups the results by the item of this collection.

Join<T2, TResult>(IIndexScanner<T2>, Func<T, T2, TResult>, JoinOperator)

Correlates the items of this indexed collection with the items of another indexed collection and returns the combined items with matching keys.

Join<T2, TResult>(IEnumerable<T2>, Func<T2, object>, Func<T, T2, TResult>, JoinOperator)

Correlates the items of this indexed collection with the items of another sequence and returns the combined items with matching keys.

Extension Methods