<?xml version="1.0"?>
<doc>
<assembly>
<name>Xtensive.Indexing</name>
</assembly>
<members>
<member name="T:Xtensive.Indexing.BloomFilter.BloomFilter`1">
<summary>
Base class for <see cref="T:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1" /> and <see cref="T:Xtensive.Indexing.BloomFilter.StreamBloomFilter`1" />.
Encapsulates common functionality of both classes.
</summary>
<typeparam name="T">Type of value to filter.</typeparam>
</member>
<member name="T:Xtensive.Indexing.BloomFilter.IBloomFilter`1">
<summary>
Describes Bloom filter.
</summary>
<typeparam name="T">Type of value to filter.</typeparam>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.IBloomFilter`1.AddValue(`0)">
<summary>
Puts value in bloom filter.
</summary>
<param name="value">Value to put to bloom filter.</param>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.IBloomFilter`1.HasValue(`0)">
<summary>
Checks filter's state of value.
</summary>
<param name="value">Value to check.</param>
<returns>
<see langword="True" /> if value's hash found in filter, otherwise <see langword="false" />.</returns>
<remarks>
<see langword="True" /> result is not guarantee that requested value was put in filter. More verification
required to be sure. <see langword="False" /> result guarantee that requested values was never put in filter.
</remarks>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.IBloomFilter`1.Clear">
<summary>
Clears filter's state
</summary>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.IBloomFilter`1.Serialize(System.IO.Stream)">
<summary>
Serializes filter to stream.
</summary>
<param name="stream">Stream to serialize the data to.</param>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.IBloomFilter`1.Size">
<summary>
Gets size of filter's data in bits.
</summary>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.IBloomFilter`1.SizeInBytes">
<summary>
Gets size of filter's data in bytes.
</summary>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.IBloomFilter`1.FilledBitCount">
<summary>
Gets the count of set bits in filter's date.
</summary>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.IBloomFilter`1.FillFactor">
<summary>
Gets filter's fill factor.
</summary>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.IBloomFilter`1.Hasher">
<summary>
Gets hash functions.
</summary>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.IBloomFilter`1.HashCount">
<summary>
Gets count of hash functions used in bloom filter.
</summary>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.AddValue(`0)">
<summary>
Puts value in bloom filter.
</summary>
<param name="value">Value to put to bloom filter.</param>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.HasValue(`0)">
<summary>
Checks filter's state of value.
</summary>
<param name="value">Value to check.</param>
<returns>
<see langword="True" /> if value's hash found in filter, otherwise <see langword="false" />.</returns>
<remarks>
<see langword="True" /> result is not guarantee that requested value was put in filter. More verification
required to be sure. <see langword="False" /> result guarantee that requested values was never put in filter.
</remarks>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.AddHashes(System.Int64[])">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.HasHashes(System.Int64[])">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.Clear">
<summary>
Clears filter's state
</summary>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.Serialize(System.IO.Stream)">
<summary>
Serializes filter to stream.
</summary>
<param name="stream">Stream to serialize the data to.</param>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.SerializeDescriptor(System.IO.Stream)">
<summary>
Serializes filter's descriptor to the specified <paramref name="stream" />.
</summary>
<param name="stream">Stream to serialize the descriptor into.</param>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.GetOptimalHashCount(System.Double)">
<summary>
Calculates optimal count of hash functions for specified <paramref name="bitsPerValue" /> factor.
</summary>
<param name="bitsPerValue">Count of bits per value.</param>
<returns>Optimal count of hash functions.</returns>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.#ctor(System.IO.Stream)">
<summary>
Initializes bloom filter with serialized data.
</summary>
<param name="stream">Stream to deserialize the filter from.</param>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.#ctor(System.Int64,System.Int32)">
<summary>
Initializes bloom filter with size and hash functions. Uses default hash provider to calculate hashes.
</summary>
<param name="size">Count of bits to use in filter.</param>
<param name="hashCount">Count of hash functions to use. See <see cref="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.GetOptimalHashCount(System.Double)" /> to get this parameter optimal.</param>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.BloomFilter`1.HashCount">
<summary>
Gets count of hash functions used in bloom filter.
</summary>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.BloomFilter`1.SizeInBytes">
<summary>
Gets size of filter's data in bytes.
</summary>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.BloomFilter`1.Size">
<summary>
Gets size of filter's data in bits.
</summary>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.BloomFilter`1.FillFactor">
<summary>
Gets filter's fill factor.
</summary>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.BloomFilter`1.FilledBitCount">
<summary>
Gets the count of set bits in filter's date.
</summary>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.BloomFilter`1.Hasher">
<summary>
Gets hash functions.
</summary>
</member>
<member name="T:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1">
<summary>
Bloom filter storing its underlying data in memory.
</summary>
<typeparam name="T">Type of value to filter.</typeparam>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1.AddHashes(System.Int64[])">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1.HasHashes(System.Int64[])">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1.Clear">
<summary>
Clears filter's state
</summary>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1.Serialize(System.IO.Stream)">
<summary>
Serializes filter to stream.
</summary>
<param name="stream">Stream to serialize the data to.</param>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1.#ctor(System.Int64,System.Int32)">
<summary>
Creates new instance of <see cref="T:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1" />.
</summary>
<param name="size">Count of bits to use in filter.</param>
<param name="hashCount">Count of hash functions to use. See <see cref="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.GetOptimalHashCount(System.Double)" /> to get this parameter optimal.</param>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1.#ctor(System.IO.Stream)">
<summary>
Creates new instance of <see cref="T:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1" />.
</summary>
<param name="stream">Stream to deserialize the filter from.</param>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1.FilledBitCount">
<summary>
Gets the count of set bits in filter's date.
</summary>
</member>
<member name="T:Xtensive.Indexing.BloomFilter.StreamBloomFilter`1">
<summary>
Bloom filter. Uses stream to store and retrieve its data.
</summary>
<typeparam name="T">Type of value to filter.</typeparam>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.StreamBloomFilter`1.AddHashes(System.Int64[])">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.BloomFilter.StreamBloomFilter`1.HasHashes(System.Int64[])">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.BloomFilter.StreamBloomFilter`1.Clear">
<summary>
Clears filter's state
</summary>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.StreamBloomFilter`1.Serialize(System.IO.Stream)">
<summary>
Serializes filter to stream.
</summary>
<param name="stream">Stream to serialize to.</param>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.StreamBloomFilter`1.#ctor(System.IO.Stream)">
<summary>
Creates new instance of <see cref="T:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1" /> from serialize stream.
</summary>
<param name="stream">Stream to deserialize the filter from.</param>
<remarks>
<paramref name="stream" /> must contains serialized data. See <see cref="M:Xtensive.Indexing.BloomFilter.IBloomFilter`1.Serialize(System.IO.Stream)" /> for details about filter serialization.</remarks>
</member>
<member name="M:Xtensive.Indexing.BloomFilter.StreamBloomFilter`1.#ctor(System.IO.Stream,System.Int64,System.Int32)">
<summary>
Creates new instance of <see cref="T:Xtensive.Indexing.BloomFilter.MemoryBloomFilter`1" />.
Uses specified stream to store filter's data.
</summary>
<param name="stream">Stream to store the filter's data in.</param>
<param name="size">Count of bits to use in filter.</param>
<param name="hashCount">Count of hash functions to use. See <see cref="M:Xtensive.Indexing.BloomFilter.BloomFilter`1.GetOptimalHashCount(System.Double)" /> to get this parameter optimal.</param>
</member>
<member name="P:Xtensive.Indexing.BloomFilter.StreamBloomFilter`1.FilledBitCount">
<summary>
Gets the count of set bits in filter's date.
</summary>
</member>
<member name="T:Xtensive.Indexing.IIndexReader`2">
<summary>
An extended version of <see cref="T:System.Collections.Generic.IEnumerator`1" /> for indexes.
</summary>
<typeparam name="TKey">The type of index key.</typeparam>
<typeparam name="TItem">The type of index item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.IIndexReader`2.MoveTo(Xtensive.Indexing.Entire{`0})">
<summary>
Moves the internal pointer to the specified key.
You still should call <see cref="M:System.Collections.IEnumerator.MoveNext" />
after calling this method to make
<see cref="P:System.Collections.Generic.IEnumerator`1.Current" /> property value available.
</summary>
<param name="key">The key to move to.</param>
<remarks>
<note type="caution">
The specified <paramref name="key" /> must be
inside the <see cref="P:Xtensive.Indexing.IIndexReader`2.Range" /> of this reader.
</note>
</remarks>
</member>
<member name="P:Xtensive.Indexing.IIndexReader`2.Range">
<summary>
Gets the range of enumeration.
</summary>
</member>
<member name="P:Xtensive.Indexing.IIndexReader`2.Direction">
<summary>
Gets the direction of enumeration relatively to index key comparer.
</summary>
</member>
<member name="M:Xtensive.Indexing.IndexReaderBase`3.#ctor(`0,Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`1}})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.IndexReaderBase`3" /> class.
</summary>
<param name="index">The index.</param>
<param name="range">The range to read.</param>
</member>
<member name="M:Xtensive.Indexing.IndexReaderBase`3.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="T:Xtensive.Indexing.OrderedIndexBase`2">
<summary>
Base class for all unique ordered indexes.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
</member>
<member name="T:Xtensive.Indexing.IndexBase`2">
<summary>
Base class for all indexes.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
</member>
<member name="T:Xtensive.Indexing.IIndex`2">
<summary>
Base generic index interface.
</summary>
<typeparam name="TKey">The type of the index key.</typeparam>
<typeparam name="TItem">The type of the item (should include both key and value).</typeparam>
</member>
<member name="T:Xtensive.Indexing.IIndex">
<summary>
Base index interface.
</summary>
</member>
<member name="M:Xtensive.Indexing.IIndex.Clear">
<summary>
Clears this instance.
</summary>
</member>
<member name="T:Xtensive.Indexing.IHasKeyExtractor`2">
<summary>
An object having <see cref="P:Xtensive.Indexing.IHasKeyExtractor`2.KeyExtractor" /> contract.
</summary>
<typeparam name="TKey">The type of the index key.</typeparam>
<typeparam name="TItem">The type of the item (should include both key and value).</typeparam>
</member>
<member name="P:Xtensive.Indexing.IHasKeyExtractor`2.KeyExtractor">
<summary>
Gets key extractor associated with the index.
</summary>
</member>
<member name="T:Xtensive.Indexing.Measures.IMeasurable`1">
<summary>
Configurable measurable - an editable dictionary-like collection
of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> objects representing measure definitions.
</summary>
<typeparam name="TItem">The type of item of underlying <see cref="T:Xtensive.Core.Collections.ICountable`1" />.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasurable`1.GetMeasureResult(System.String)">
<summary>
Gets the measurement for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasurable`1.GetMeasureResults(System.String[])">
<summary>
Gets the measurements for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="P:Xtensive.Indexing.Measures.IMeasurable`1.HasMeasures">
<summary>
Gets result indicating whether this instance contains measures.
</summary>
</member>
<member name="P:Xtensive.Indexing.Measures.IMeasurable`1.Measures">
<summary>
Gets the set of measures.
</summary>
</member>
<member name="M:Xtensive.Indexing.IIndex`2.Add(`1)">
<summary>
Adds the element to the index.
</summary>
<param name="item">The item to add.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.IIndex`2.Remove(`1)">
<summary>
Removes the <paramref name="item" /> from the index.
</summary>
<param name="item">Item to remove.</param>
<returns>
<see langword="True" /> if the item is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.IIndex`2.Replace(`1)">
<summary>
Replaces the <paramref name="item" /> using extracted key.
</summary>
<param name="item">Item to replace.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Item with extracted key could not be found.</exception>
</member>
<member name="M:Xtensive.Indexing.IIndex`2.RemoveKey(`0)">
<summary>
Removes the item(s) from the index by its (their) <paramref name="key" />.
</summary>
<param name="key">Key of the item(s) to remove.</param>
<returns>
<see langword="True" /> if the item(s) with specified key is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.IIndex`2.Contains(`1)">
<summary>
Determines whether the index contains specified item.
</summary>
<returns>
<see langword="true" /> if this instance contains the item; otherwise, <see langword="false" />.
</returns>
<param name="item">The item to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.IIndex`2.ContainsKey(`0)">
<summary>
Determines whether the index contains specified key.
</summary>
<returns>
<see langword="true" /> if this instance contains the key; otherwise, <see langword="false" />.
</returns>
<param name="key">The key to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.Contains(`1)">
<summary>
Determines whether the index contains specified item.
</summary>
<returns>
<see langword="true" /> if this instance contains the item; otherwise, <see langword="false" />.
</returns>
<param name="item">The item to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.ContainsKey(`0)">
<summary>
Determines whether the index contains specified key.
</summary>
<returns>
<see langword="true" /> if this instance contains the key; otherwise, <see langword="false" />.
</returns>
<param name="key">The key to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.Add(`1)">
<summary>
Adds the element to the index.
</summary>
<param name="item">The item to add.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.Remove(`1)">
<summary>
Removes the <paramref name="item" /> from the index.
</summary>
<param name="item">Item to remove.</param>
<returns>
<see langword="True" /> if the item is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.Replace(`1)">
<summary>
Replaces the <paramref name="item" /> using extracted key.
</summary>
<param name="item">Item to replace.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Item with extracted key could not be found.</exception>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.RemoveKey(`0)">
<summary>
Removes the item(s) from the index by its (their) <paramref name="key" />.
</summary>
<param name="key">Key of the item(s) to remove.</param>
<returns>
<see langword="True" /> if the item(s) with specified key is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.Clear">
<summary>
Clears this instance.
</summary>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.GetMeasureResult(System.String)">
<summary>
Gets the measurement for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.GetMeasureResults(System.String[])">
<summary>
Gets the measurements for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.#ctor">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.IndexBase`2.#ctor(Xtensive.Indexing.IndexConfigurationBase{`0,`1})">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.IndexBase`2.KeyComparer">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.IndexBase`2.EntireKeyComparer">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.IndexBase`2.AsymmetricKeyCompare">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.IndexBase`2.KeyExtractor">
<summary>
Gets key extractor associated with the index.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexBase`2.Count">
<summary>
Gets the number of elements contained in a collection.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexBase`2.Size">
<summary>
Gets size of the instance in bytes.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexBase`2.HasMeasures">
<summary>
Gets result indicating whether this instance contains measures.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexBase`2.Measures">
<summary>
Gets the set of measures.
</summary>
</member>
<member name="T:Xtensive.Indexing.IOrderedIndex`2">
<summary>
Defines index that can return a <see cref="T:System.Collections.Generic.IEnumerator`1" /> that
enumerates through the range of index items.
</summary>
<typeparam name="TKey">The type of the index key.</typeparam>
<typeparam name="TItem">The type of the item (should include both key and value).</typeparam>
</member>
<member name="T:Xtensive.Indexing.IOrderedEnumerable`2">
<summary>
Typed ordered enumerable of <typeparamref name="TItem" /> instances.
</summary>
<remarks>
Items are ordered by <typeparamref name="TKey" />.
</remarks>
<typeparam name="TKey">Type of item key.</typeparam>
<typeparam name="TItem">Item type.</typeparam>
</member>
<member name="T:Xtensive.Indexing.IHasKeyComparers`1">
<summary>
An object having 3 key comparers contract.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
</member>
<member name="P:Xtensive.Indexing.IHasKeyComparers`1.KeyComparer">
<summary>
Gets key comparer.
</summary>
</member>
<member name="P:Xtensive.Indexing.IHasKeyComparers`1.EntireKeyComparer">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Entire`1" /> comparer for <typeparamref name="TKey" /> type.
</summary>
</member>
<member name="P:Xtensive.Indexing.IHasKeyComparers`1.AsymmetricKeyCompare">
<summary>
Gets the delegate used to compare
<see cref="T:Xtensive.Indexing.Entire`1" /> for <typeparamref name="TKey" /> type and <typeparamref name="TKey" /> type.
</summary>
</member>
<member name="M:Xtensive.Indexing.IOrderedEnumerable`2.GetKeys(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TKey" />s in the given range.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range.</returns>
</member>
<member name="M:Xtensive.Indexing.IOrderedEnumerable`2.GetItems(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TItem" />s in the given range.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range.</returns>
</member>
<member name="M:Xtensive.Indexing.IOrderedEnumerable`2.GetItems(Xtensive.Indexing.RangeSet{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TItem" />s in the given range set.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range set.</returns>
</member>
<member name="M:Xtensive.Indexing.IOrderedEnumerable`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="ray">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.IOrderedEnumerable`2.Seek(`0)">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="key">Item key to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.IOrderedEnumerable`2.CreateReader(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Creates <see cref="T:Xtensive.Indexing.IIndexReader`2" /> object allowing to enumerate
the items in the specified <paramref name="range" />.
</summary>
<param name="range">The range to provide the reader for.</param>
</member>
<member name="T:Xtensive.Indexing.Measures.IRangeMeasurable`2">
<summary>
Range measurable - an <see cref="T:Xtensive.Indexing.Measures.IMeasurable`1" /> providing a set of
associated <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> objects for any of its <see cref="T:Xtensive.Indexing.Range`1" />s.
</summary>
<typeparam name="TKey">The range key.</typeparam>
<typeparam name="TItem">The type of item of underlying <see cref="T:Xtensive.Indexing.Measures.IMeasurable`1" />.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Measures.IRangeMeasurable`2.GetMeasureResult(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String)">
<summary>
Gets the measurement result for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.IRangeMeasurable`2.GetMeasureResults(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String[])">
<summary>
Gets the measurement result for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="T:Xtensive.Indexing.Optimization.IOptimizationInfoProvider`1">
<summary>
Statistics provider.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Optimization.IOptimizationInfoProvider`1.GetStatistics">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Optimization.IStatistics`1" />.
</summary>
<returns>The statistics.</returns>
</member>
<member name="M:Xtensive.Indexing.Optimization.IOptimizationInfoProvider`1.GetEntireKeyComparer">
<summary>
Gets the <see cref="T:Xtensive.Core.Comparison.AdvancedComparer`1" /> which is used by the index to compare keys.
</summary>
<returns>The comparer.</returns>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.GetStatistics">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Optimization.IStatistics`1" />.
</summary>
<returns>The statistics.</returns>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.GetEntireKeyComparer">
<summary>
Gets the <see cref="T:Xtensive.Core.Comparison.AdvancedComparer`1" /> which is used by the index to compare keys.
</summary>
<returns>The comparer.</returns>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.GetKeys(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TKey" />s in the given range.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range.</returns>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.GetItems(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TItem" />s in the given range.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range.</returns>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.GetItems(Xtensive.Indexing.RangeSet{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TItem" />s in the given range.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range.</returns>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="ray">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.Seek(`0)">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="ray">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.CreateReader(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Creates <see cref="T:Xtensive.Indexing.IIndexReader`2" /> object allowing to enumerate
the items in the specified <paramref name="range" />.
</summary>
<param name="range">The range to provide the reader for.</param>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.GetMeasureResult(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String)">
<summary>
Gets the measurement result for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.GetMeasureResults(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String[])">
<summary>
Gets the measurement result for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.#ctor">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.OrderedIndexBase`2.#ctor(Xtensive.Indexing.IndexConfigurationBase{`0,`1})">
<inheritdoc />
</member>
<member name="T:Xtensive.Indexing.Index`2">
<summary>
B+ index based index implementation.
</summary>
<typeparam name="TKey">Key type.</typeparam>
<typeparam name="TItem">Value type.</typeparam>
</member>
<member name="T:Xtensive.Indexing.UniqueOrderedIndexBase`2">
<summary>
Base class for all unique ordered indexes.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
</member>
<member name="T:Xtensive.Indexing.UniqueIndexBase`2">
<summary>
Base class for all unique indexes.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
</member>
<member name="T:Xtensive.Indexing.IUniqueIndex`2">
<summary>
Unique index contract.
</summary>
<typeparam name="TKey">The type of the index key.</typeparam>
<typeparam name="TItem">The type of the item (should include both key and value).</typeparam>
</member>
<member name="M:Xtensive.Indexing.IUniqueIndex`2.GetItem(`0)">
<summary>
Gets the item by its key.
</summary>
<value>The element with the specified key.</value>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
<exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key" /> is not found.</exception>
</member>
<member name="M:Xtensive.Indexing.UniqueIndexBase`2.Resolve(`0)">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.UniqueIndexBase`2.GetItem(`0)">
<summary>
Gets the item by its key.
</summary>
<value>The element with the specified key.</value>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
<exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key" /> is not found.</exception>
</member>
<member name="M:Xtensive.Indexing.UniqueIndexBase`2.#ctor">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.UniqueIndexBase`2.#ctor(Xtensive.Indexing.IndexConfigurationBase{`0,`1})">
<inheritdoc />
</member>
<member name="T:Xtensive.Indexing.IUniqueOrderedIndex`2">
<summary>
Unique ordered index contract.
</summary>
<typeparam name="TKey">The type of the index key.</typeparam>
<typeparam name="TItem">The type of the item (should include both key and value).</typeparam>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.GetStatistics">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Optimization.IStatistics`1" />.
</summary>
<returns>The statistics.</returns>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.GetEntireKeyComparer">
<summary>
Gets the <see cref="T:Xtensive.Core.Comparison.AdvancedComparer`1" /> which is used by the index to compare keys.
</summary>
<returns>The comparer.</returns>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.GetKeys(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TKey" />s in the given range.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range.</returns>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.GetItems(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TItem" />s in the given range.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range.</returns>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.GetItems(Xtensive.Indexing.RangeSet{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TItem" />s in the given range.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range.</returns>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="ray">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.Seek(`0)">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="ray">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.CreateReader(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Creates <see cref="T:Xtensive.Indexing.IIndexReader`2" /> object allowing to enumerate
the items in the specified <paramref name="range" />.
</summary>
<param name="range">The range to provide the reader for.</param>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.GetMeasureResult(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String)">
<summary>
Gets the measurement result for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.GetMeasureResults(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String[])">
<summary>
Gets the measurement result for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.#ctor">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.UniqueOrderedIndexBase`2.#ctor(Xtensive.Indexing.IndexConfigurationBase{`0,`1})">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Index`2.GetItem(`0)">
<summary>
Gets the item by its key.
</summary>
<value>The element with the specified key.</value>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
<exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key" /> is not found.</exception>
</member>
<member name="M:Xtensive.Indexing.Index`2.Contains(`1)">
<summary>
Determines whether the index contains specified item.
</summary>
<returns>
<see langword="true" /> if this instance contains the item; otherwise, <see langword="false" />.
</returns>
<param name="item">The item to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Index`2.ContainsKey(`0)">
<summary>
Determines whether the index contains specified key.
</summary>
<returns>
<see langword="true" /> if this instance contains the key; otherwise, <see langword="false" />.
</returns>
<param name="key">The key to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Index`2.Seek(`0)">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="key">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.Index`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="key">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.Index`2.CreateReader(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Creates <see cref="T:Xtensive.Indexing.IIndexReader`2" /> object allowing to enumerate
the items in the specified <paramref name="range" />.
</summary>
<param name="range">The range to provide the reader for.</param>
</member>
<member name="M:Xtensive.Indexing.Index`2.Configure(Xtensive.Indexing.IndexConfigurationBase{`0,`1})">
<summary>
Configures the instance by the specified <paramref name="configuration" />.
Invoked by <see cref="P:Xtensive.Core.IConfigurable`1.Configuration" /> property setter.
</summary>
<param name="configuration">The configuration.</param>
</member>
<member name="M:Xtensive.Indexing.Index`2.ValidateConfiguration">
<summary>
Called by <see cref="M:Xtensive.Core.Configuration.ConfigurableBase`1.Configure(`0)" /> to validate the
provided configuration.
</summary>
</member>
<member name="M:Xtensive.Indexing.Index`2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Index`2" /> class.
</summary>
</member>
<member name="M:Xtensive.Indexing.Index`2.#ctor(Xtensive.Indexing.IndexConfiguration{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Index`2" /> class.
</summary>
<param name="configuration">Index configuration.</param>
</member>
<member name="M:Xtensive.Indexing.Index`2.Dispose(System.Boolean)">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="M:Xtensive.Indexing.Index`2.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="M:Xtensive.Indexing.Index`2.Finalize">
<summary>
Releases unmanaged resources and performs other cleanup operations before the
<see cref="T:Xtensive.Indexing.Index`2" /> is reclaimed by garbage collection.
</summary>
</member>
<member name="M:Xtensive.Indexing.Index`2.InternalReplace(Xtensive.Indexing.Implementation.DataPage{`0,`1},`0,`1)">
<returns>Replaced item.</returns>
</member>
<member name="M:Xtensive.Indexing.Index`2.GetMeasureResult(System.String)">
<summary>
Gets the measurement for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.Index`2.GetMeasureResults(System.String[])">
<summary>
Gets the measurements for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.Index`2.GetMeasureResult(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String)">
<summary>
Gets the measurement result for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.Index`2.GetMeasureResults(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String[])">
<summary>
Gets the measurement result for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.Index`2.Add(`1)">
<exception cref="T:System.InvalidOperationException">
<paramref name="item" /> is already added.</exception>
<exception cref="T:System.NotSupportedException">Write is not allowed by <see cref="P:Xtensive.Indexing.Index`2.Features" />.</exception>
<summary>
Adds the element to the index.
</summary>
<param name="item">The item to add.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Index`2.Remove(`1)">
<summary>
Removes the <paramref name="item" /> from the index.
</summary>
<param name="item">Item to remove.</param>
<returns>
<see langword="True" /> if the item is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Index`2.RemoveKey(`0)">
<exception cref="T:System.NotSupportedException">Write is not allowed by <see cref="P:Xtensive.Indexing.Index`2.Features" />.</exception>
<summary>
Removes the item(s) from the index by its (their) <paramref name="key" />.
</summary>
<param name="key">Key of the item(s) to remove.</param>
<returns>
<see langword="True" /> if the item(s) with specified key is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Index`2.Replace(`1)">
<exception cref="T:System.NotSupportedException">Write is not allowed by <see cref="P:Xtensive.Indexing.Index`2.Features" />.</exception>
<summary>
Replaces the <paramref name="item" /> using extracted key.
</summary>
<param name="item">Item to replace.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Item with extracted key could not be found.</exception>
</member>
<member name="M:Xtensive.Indexing.Index`2.Clear">
<summary>
Clears this instance.
</summary>
</member>
<member name="M:Xtensive.Indexing.Index`2.Serialize(System.Collections.Generic.IEnumerable{`1})">
<summary>
Serializes items from specified <see cref="T:System.Collections.Generic.IEnumerable`1" /> into the index.
</summary>
<param name="source">Items to serialize into the index.</param>
</member>
<member name="P:Xtensive.Indexing.Index`2.HasMeasures">
<summary>
Gets result indicating whether this instance contains measures.
</summary>
</member>
<member name="P:Xtensive.Indexing.Index`2.Features">
<summary>
Gets index features.
Property can be set only once.
</summary>
</member>
<member name="P:Xtensive.Indexing.Index`2.PageSize">
<summary>
Gets page size of the index.
</summary>
</member>
<member name="P:Xtensive.Indexing.Index`2.Measures">
<summary>
Gets the set of measures.
</summary>
</member>
<member name="T:Xtensive.Indexing.IndexConfigurationBase`2">
<summary>
Index configuration.
Used by <see cref="T:Xtensive.Indexing.IndexBase`2" /> and its descendants
to unify index initialization and configuration.
</summary>
<typeparam name="TKey">The type of the index key.</typeparam>
<typeparam name="TItem">The type of the index item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.IndexConfigurationBase`2.Validate">
<summary>
Validates the configuration.
Should always be invoked by <see cref="M:Xtensive.Core.ILockable.Lock(System.Boolean)" /> method
before actually locking the configuration.
</summary>
</member>
<member name="M:Xtensive.Indexing.IndexConfigurationBase`2.CreateClone">
<summary>
Creates a new instance of this class.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<returns>New instance of this class.</returns>
</member>
<member name="M:Xtensive.Indexing.IndexConfigurationBase`2.Clone(Xtensive.Core.Configuration.ConfigurationBase)">
<summary>
Copies the properties from the <paramref name="source" />
configuration to this one.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<param name="source">The configuration to copy properties from.</param>
</member>
<member name="M:Xtensive.Indexing.IndexConfigurationBase`2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.IndexConfigurationBase`2" /> class.
</summary>
</member>
<member name="M:Xtensive.Indexing.IndexConfigurationBase`2.#ctor(System.Converter{`1,`0})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.IndexConfigurationBase`2" /> class.
</summary>
<param name="keyExtractor">
<see cref="P:Xtensive.Indexing.IndexConfigurationBase`2.KeyExtractor" /> property value.</param>
</member>
<member name="M:Xtensive.Indexing.IndexConfigurationBase`2.#ctor(System.Converter{`1,`0},Xtensive.Core.Comparison.AdvancedComparer{`0})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.IndexConfigurationBase`2" /> class.
</summary>
<param name="keyExtractor">
<see cref="P:Xtensive.Indexing.IndexConfigurationBase`2.KeyExtractor" /> property value.</param>
<param name="keyComparer">
<see cref="P:Xtensive.Indexing.IndexConfigurationBase`2.KeyComparer" /> property value.</param>
</member>
<member name="M:Xtensive.Indexing.IndexConfigurationBase`2.System#Runtime#Serialization#IDeserializationCallback#OnDeserialization(System.Object)">
<see cref="M:Xtensive.Core.Internals.DocTemplates.SerializableDocTemplate.OnDeserialization(System.Object)" />
</member>
<member name="P:Xtensive.Indexing.IndexConfigurationBase`2.Location">
<summary>
Gets or sets the location of the index.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexConfigurationBase`2.Measures">
<summary>
Gets the set of measures.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexConfigurationBase`2.KeyExtractor">
<summary>
Gets or sets the key extractor associated with the index.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexConfigurationBase`2.KeyComparer">
<summary>
Gets or sets the key comparer.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexConfigurationBase`2.EntireKeyComparer">
<summary>
Gets or sets the <see cref="T:Xtensive.Indexing.Entire`1" /> comparer for <typeparamref name="TKey" /> type.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexConfigurationBase`2.AsymmetricKeyCompare">
<summary>
Gets or sets the delegate used to compare
<see cref="T:Xtensive.Indexing.Entire`1" /> for <typeparamref name="TKey" /> type and <typeparamref name="TKey" /> type.
</summary>
</member>
<member name="F:Xtensive.Indexing.IndexConfiguration`2.DefaultPageSize">
<summary>
Default order.
</summary>
</member>
<member name="F:Xtensive.Indexing.IndexConfiguration`2.DefaultBloomFilterBitsPerValue">
<summary>
Default value for <see cref="P:Xtensive.Indexing.IndexConfiguration`2.BloomFilterBitsPerValue" /> property.
</summary>
</member>
<member name="F:Xtensive.Indexing.IndexConfiguration`2.DefaultCacheSize">
<summary>
Default value for <see cref="P:Xtensive.Indexing.IndexConfiguration`2.CacheSize" /> property.
</summary>
</member>
<member name="M:Xtensive.Indexing.IndexConfiguration`2.CreateClone">
<summary>
Creates a new instance of this class.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<returns>New instance of this class.</returns>
</member>
<member name="M:Xtensive.Indexing.IndexConfiguration`2.Clone(Xtensive.Core.Configuration.ConfigurationBase)">
<summary>
Copies the properties from the <paramref name="source" />
configuration to this one.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<param name="source">The configuration to copy properties from.</param>
</member>
<member name="P:Xtensive.Indexing.IndexConfiguration`2.CacheSize">
<summary>
Gets or sets number of pages cached by for page provider.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexConfiguration`2.UseBloomFilter">
<summary>
Gets or sets <see langword="true" /> if index uses <see cref="T:Xtensive.Indexing.BloomFilter.BloomFilter`1" /> to optimize access. It is <see langword="true" /> by default.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexConfiguration`2.BloomFilterBitsPerValue">
<summary>
Gets or sets count of bits <see cref="T:Xtensive.Indexing.BloomFilter.BloomFilter`1" /> uses per value. <see cref="F:Xtensive.Indexing.IndexConfiguration`2.DefaultBloomFilterBitsPerValue" /> is default value.
</summary>
</member>
<member name="P:Xtensive.Indexing.IndexConfiguration`2.PageSize">
<summary>
Gets or sets index page size. It must be even value in range [2,65534].
</summary>
</member>
<member name="T:Xtensive.Indexing.IndexExtensions">
<summary>
<see cref="T:Xtensive.Indexing.IIndex`2" /> and its "inner" (supported) interfaces extension methods.
</summary>
</member>
<member name="M:Xtensive.Indexing.IndexExtensions.GetFullRange``1(Xtensive.Indexing.IHasKeyComparers{``0})">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Range`1" /> object describing full key range
for the specified <paramref name="index" />
which endpoints are ordered in <see cref="F:Xtensive.Core.Direction.Positive" /> direction.
</summary>
<typeparam name="TKey">The type of the <paramref name="index" /> key.</typeparam>
<param name="index">The index to get the full range for.</param>
<returns>
<see cref="T:Xtensive.Indexing.Range`1" /> object describing full key range
which endpoints are ordered in <see cref="F:Xtensive.Core.Direction.Positive" /> direction.</returns>
</member>
<member name="M:Xtensive.Indexing.IndexExtensions.GetFullRange``1(Xtensive.Indexing.IHasKeyComparers{``0},Xtensive.Core.Direction)">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Range`1" /> object describing full key range
for the specified <paramref name="index" />
which endpoints are ordered in specified <paramref name="direction" />.
</summary>
<typeparam name="TKey">The type of the <paramref name="index" /> key.</typeparam>
<param name="index">The index to get the full range for.</param>
<param name="direction">The direction of the range endpoints.</param>
<returns>
<see cref="T:Xtensive.Indexing.Range`1" /> object describing full key range
which endpoints are ordered in specified <paramref name="direction" />.</returns>
</member>
<member name="T:Xtensive.Indexing.IndexFeatures">
<summary>
<see cref="T:Xtensive.Indexing.Index`2" /> features.
</summary>
</member>
<member name="M:Xtensive.Indexing.IndexReader`2.#ctor(Xtensive.Indexing.Index{`0,`1},Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.IndexReader`2" /> class.
</summary>
<param name="index">The index.</param>
<param name="range">The range to read.</param>
</member>
<member name="M:Xtensive.Indexing.IndexReader`2.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
</summary>
<filterpriority>2</filterpriority>
</member>
<member name="T:Xtensive.Indexing.Implementation.DataPage`2">
<summary>
Base class for <see cref="T:Xtensive.Indexing.Implementation.InnerPage`2" />
and <see cref="T:Xtensive.Indexing.Implementation.LeafPage`2" /> of the
<see cref="T:Xtensive.Indexing.Index`2" />.
</summary>
<typeparam name="TKey">Key type.</typeparam>
<typeparam name="TItem">Node type.</typeparam>
</member>
<member name="T:Xtensive.Indexing.Implementation.Page`2">
<summary>
Base class for <see cref="T:Xtensive.Indexing.Index`2" /> page.
</summary>
<typeparam name="TKey">Key type.</typeparam>
<typeparam name="TItem">Node type.</typeparam>
</member>
<member name="T:Xtensive.Indexing.Implementation.IPageRef">
<summary>
Reference to the <see cref="T:Xtensive.Indexing.Index`2" /> page.
Has no methods itself, but can be passed to various methods
of <see cref="T:Xtensive.Indexing.Implementation.IIndexPageProvider`2" />.
</summary>
</member>
<member name="M:Xtensive.Indexing.Implementation.Page`2.UpdateVersion">
<summary>
Updates page version.
</summary>
</member>
<member name="M:Xtensive.Indexing.Implementation.Page`2.#ctor(Xtensive.Indexing.Implementation.IIndexPageProvider{`0,`1})">
<summary>
<see cref="M:Xtensive.Core.Internals.DocTemplates.ClassDocTemplate.Ctor" />
</summary>
<param name="provider">Index page provider this page is bound to.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.Page`2.OnDeserialization(System.Object)">
<summary>
Runs when the entire object graph has been deserialized.
</summary>
<param name="sender">
The object that initiated the callback. The functionality for this parameter is not currently implemented.
</param>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.Provider">
<summary>
Gets <see cref="T:Xtensive.Indexing.Implementation.IIndexPageProvider`2" />, associated with
<see cref="T:Xtensive.Indexing.Implementation.Page`2" /></summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.Identifier">
<summary>
Gets or sets page <see cref="T:Xtensive.Indexing.Implementation.IPageRef">identifier</see></summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.Xtensive#Core#IIdentified#Identifier">
<summary>
Gets page identifier
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.Version">
<summary>
Gets or sets page version.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.Xtensive#Core#IHasVersion#Version">
<summary>
Gets page version.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.IsPersisted">
<summary>
Gets or sets page persisted status.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.AsDescriptorPage">
<summary>
Casts page to the <see cref="P:Xtensive.Indexing.Implementation.Page`2.DescriptorPage" /> type.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.AsDataPage">
<summary>
Casts page to the <see cref="T:Xtensive.Indexing.Implementation.DataPage`2" /> type.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.AsInnerPage">
<summary>
Casts page to the <see cref="T:Xtensive.Indexing.Implementation.InnerPage`2" /> type.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.AsLeafPage">
<summary>
Casts page to the <see cref="T:Xtensive.Indexing.Implementation.LeafPage`2" /> type.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.Page`2.DescriptorPage">
<summary>
Gets <see cref="P:Xtensive.Indexing.Implementation.Page`2.DescriptorPage" /> of the index.
</summary>
</member>
<member name="T:Xtensive.Indexing.Measures.IHasMeasureResults`1">
<summary>
Indicates that this instance has some measure results associated with it.
</summary>
</member>
<member name="P:Xtensive.Indexing.Measures.IHasMeasureResults`1.MeasureResults">
<summary>
Gets the measurements.
</summary>
<value>The measurements.</value>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.GetKey(System.Int32)">
<summary>
Gets the key at the specified <paramref name="index" />.
</summary>
<param name="index">Index of the key to get.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.Seek(`0)">
<summary>
Seeks for the specified key.
</summary>
<param name="key">The key to seek for.</param>
<returns>Standard seek operation result.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified ray.
</summary>
<param name="ray">The ray to seek for.</param>
<returns>Standard seek operation result.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.Remove(System.Int32)">
<summary>
Removes the key at the specified <paramref name="index" />.
</summary>
<param name="index">Index of the key to remove.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.Split">
<summary>
Splits the page into two pages.
</summary>
<returns>The page created during the split operation.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.Merge(Xtensive.Indexing.Implementation.DataPage{`0,`1})">
<summary>
Merges the page with the specified one.
</summary>
<param name="page">The page to merge with.</param>
<returns>
<see langword="True" /> if pages were merged into a single one;
otherwise (i.e. if second page still contains the items), <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.RecalculateMeasures">
<summary>
Recalculates the all measures.
</summary>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.AddToMeasures(`1)">
<summary>
Adds specified <paramref name="item" /> to all the measures.
</summary>
<param name="item">The item to add.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.AddToMeasures(Xtensive.Indexing.Measures.IHasMeasureResults{`1})">
<summary>
Adds all the measure results of specified <paramref name="hasMeasures" /> to all the measures.
</summary>
<param name="hasMeasures">The measure results owner.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.SubtractFromMeasures(`1)">
<summary>
Subtracts specified <paramref name="item" /> from all the measures.
</summary>
<param name="item">The item to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.SubtractFromMeasures(Xtensive.Indexing.Measures.IHasMeasureResults{`1})">
<summary>
Subtracts all the measure results of specified <paramref name="hasMeasures" /> from all the measures.
</summary>
<param name="hasMeasures">The measure results owner.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.DataPage`2.#ctor(Xtensive.Indexing.Implementation.IIndexPageProvider{`0,`1})">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.Implementation.DataPage`2.KeyExtractor">
<summary>
Gets the key extractor (shortcut to <see cref="P:Xtensive.Indexing.IndexBase`2.KeyExtractor" /> property.
</summary>
<value>The key extractor.</value>
</member>
<member name="P:Xtensive.Indexing.Implementation.DataPage`2.Size">
<summary>
Gets the size of the page.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.DataPage`2.CurrentSize">
<summary>
Gets or sets the current size of the page.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.DataPage`2.MeasureResults">
<summary>
Gets the measurements.
</summary>
<value>The measurements.</value>
</member>
<member name="P:Xtensive.Indexing.Implementation.DataPage`2.Key">
<summary>
Gets key of the page.
</summary>
</member>
<member name="M:Xtensive.Indexing.Implementation.DescriptorPage`2.AddMeasure(Xtensive.Indexing.Measures.IMeasure{`1})">
<summary>
Adds a <paramref name="measure" /> to the index.
</summary>
<param name="measure">Measure to add.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.DescriptorPage`2.Clear">
<summary>
Called to clear the index.
</summary>
</member>
<member name="M:Xtensive.Indexing.Implementation.DescriptorPage`2.Initialize">
<summary>
Initializes the descriptor page.
Invoked e.g. by <see cref="M:Xtensive.Indexing.Implementation.DescriptorPage`2.Clear" /> method.
</summary>
</member>
<member name="M:Xtensive.Indexing.Implementation.DescriptorPage`2.#ctor(Xtensive.Indexing.IndexConfiguration{`0,`1},Xtensive.Indexing.Implementation.IIndexPageProvider{`0,`1})">
<summary>
<see cref="M:Xtensive.Core.Internals.DocTemplates.ClassDocTemplate.Ctor" />
</summary>
<param name="configuration">Index configuration.</param>
<param name="provider">Index page provider this page is bound to.</param>
</member>
<member name="P:Xtensive.Indexing.Implementation.DescriptorPage`2.Measures">
<summary>
Gets the set of measures stored on this page.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.DescriptorPage`2.BloomFilter">
<summary>
Gets or sets the <see cref="T:Xtensive.Indexing.BloomFilter.IBloomFilter`1" /> associated with the index.
</summary>
</member>
<member name="T:Xtensive.Indexing.Implementation.InnerPage`2">
<summary>
Inner page of the <see cref="T:Xtensive.Indexing.Index`2" />.
</summary>
<typeparam name="TKey">Key type.</typeparam>
<typeparam name="TItem">Node type.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.GetKey(System.Int32)">
<summary>
Gets the key at the specified <paramref name="index" />.
</summary>
<param name="index">Index of the key to get.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.GetPageRef(System.Int32)">
<summary>
Gets the page reference at the specified <paramref name="index" />.
</summary>
<param name="index">The index to get the page reference at.</param>
<returns>Page reference at the specified <paramref name="index" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.GetPage(System.Int32)">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Implementation.DataPage`2" /> at the specified <paramref name="index" />
by resolving the <see cref="T:Xtensive.Indexing.Implementation.IPageRef" /> at it.
</summary>
<param name="index">The index to get the page at.</param>
<returns>
<see cref="T:Xtensive.Indexing.Implementation.DataPage`2" /> at the specified <paramref name="index" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.Seek(`0)">
<summary>
Seeks for the specified key.
</summary>
<param name="key">The key to seek for.</param>
<returns>Standard seek operation result.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified key.
</summary>
<param name="key">The key to seek for.</param>
<returns>Standard seek operation result.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.Insert(System.Int32,`0,Xtensive.Indexing.Implementation.IPageRef)">
<summary>
Inserts the <paramref name="key" />-<paramref name="pageRef" /> pair at the specified <paramref name="index" />.
</summary>
<param name="index">The index to insert at.</param>
<param name="key">The key to insert.</param>
<param name="pageRef">The page reference to insert.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.Remove(System.Int32)">
<summary>
Removes the key at the specified <paramref name="index" />.
</summary>
<param name="index">Index of the key to remove.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.Split">
<summary>
Splits the page into two pages.
</summary>
<returns>The page created during the split operation.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.Merge(Xtensive.Indexing.Implementation.DataPage{`0,`1})">
<summary>
Merges the page with the specified one.
</summary>
<param name="page">The page to merge with.</param>
<returns>
<see langword="True" /> if pages were merged into a single one;
otherwise (i.e. if second page still contains the items), <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.RecalculateMeasures">
<summary>
Recalculates the all measures.
</summary>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.AddToMeasures(`1)">
<summary>
Adds specified <paramref name="item" /> to all the measures.
</summary>
<param name="item">The item to add.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.SubtractFromMeasures(`1)">
<summary>
Subtracts specified <paramref name="item" /> from all the measures.
</summary>
<param name="item">The item to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.AddToMeasures(Xtensive.Indexing.Measures.IHasMeasureResults{`1})">
<summary>
Adds specified <paramref name="item" /> to all the measures.
</summary>
<param name="item">The item to add.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.SubtractFromMeasures(Xtensive.Indexing.Measures.IHasMeasureResults{`1})">
<summary>
Subtracts specified <paramref name="item" /> from all the measures.
</summary>
<param name="item">The item to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.InnerPage`2.#ctor(Xtensive.Indexing.Implementation.IIndexPageProvider{`0,`1})">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.Implementation.InnerPage`2.Size">
<summary>
Gets the size of the page.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.InnerPage`2.Key">
<summary>
Gets key of the page.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.InnerPage`2.Item(System.Int32)">
<summary>
The indexer.
</summary>
<param name="index">The index to get the value for.</param>
<returns>A pair of key-reference at the specified index.</returns>
</member>
<member name="T:Xtensive.Indexing.Implementation.IIndexPageProvider`2">
<summary>
<see cref="!:Index<TKey,TItem>" /> page provider - creates, stores and loads pages.
</summary>
<typeparam name="TKey">Key type.</typeparam>
<typeparam name="TItem">Value type.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexPageProvider`2.AssignIdentifier(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Assigns (generates) an identifier to the page.
</summary>
<param name="page">Page to generate the identifier for.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexPageProvider`2.Resolve(Xtensive.Indexing.Implementation.IPageRef)">
<summary>
Resolves identifier by providing its owner.
</summary>
<param name="identifier">Identifier to resolve.</param>
<returns>Identifier owner.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexPageProvider`2.AddToCache(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Adds the specified page to cache.
</summary>
<param name="page">The page.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexPageProvider`2.RemoveFromCache(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Removes the specified page from cache.
</summary>
<param name="page">The page.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexPageProvider`2.GetFromCache(Xtensive.Indexing.Implementation.IPageRef)">
<summary>
Gets the page from cache by specified <paramref name="pageRef" />.
</summary>
<param name="pageRef">The page reference.</param>
<returns>
</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexPageProvider`2.Flush">
<summary>
Flushes all cached page changes.
</summary>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexPageProvider`2.Clear">
<summary>
Clears the index.
</summary>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexPageProvider`2.CreateSerializer">
<summary>
Creates the serializer for the specified page provider.
</summary>
<returns>Newly created serializer.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexPageProvider`2.GetBloomFilter(System.Collections.Generic.IEnumerable{`1})">
<summary>
Gets the bloom filter for specified <paramref name="source" />.
</summary>
<param name="source">The source.</param>
<returns>The bloom filter.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexPageProvider`2.Initialize">
<summary>
Initializes the index.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.IIndexPageProvider`2.Index">
<summary>
Gets the <see cref="P:Xtensive.Indexing.Implementation.IIndexPageProvider`2.Index" /> this provider is bound to.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.IIndexPageProvider`2.IsInitialized">
<summary>
Indicates if index is already initialized.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.IIndexPageProvider`2.Features">
<summary>
Gets index features supported by the provider.
</summary>
</member>
<member name="T:Xtensive.Indexing.Implementation.LeafPage`2">
<summary>
Leaf page of the <see cref="T:Xtensive.Indexing.Index`2" />.
</summary>
<typeparam name="TKey">Key type.</typeparam>
<typeparam name="TItem">A node value type.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.GetKey(System.Int32)">
<summary>
Gets the key at the specified <paramref name="index" />.
</summary>
<param name="index">Index of the key to get.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.GetItems(System.Int32,System.Int32)">
<summary>
Gets the specified range of items on the page.
</summary>
<param name="offset">The offset of the range to get.</param>
<param name="count">The count of items to get.</param>
<returns>The specified range of items on the page.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.Seek(`0)">
<summary>
Seeks for the specified key.
</summary>
<param name="key">The key to seek for.</param>
<returns>Standard seek operation result.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified key.
</summary>
<param name="key">The key to seek for.</param>
<returns>Standard seek operation result.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.Insert(System.Int32,`1)">
<summary>
Inserts the <paramref name="item" /> at the specified index.
</summary>
<param name="index">The index to insert the item at.</param>
<param name="item">The item to insert.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.Remove(System.Int32)">
<summary>
Removes the key at the specified <paramref name="index" />.
</summary>
<param name="index">Index of the key to remove.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.Split">
<summary>
Splits the page into two pages.
</summary>
<returns>The page created during the split operation.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.Merge(Xtensive.Indexing.Implementation.DataPage{`0,`1})">
<summary>
Merges the page with the specified one.
</summary>
<param name="page">The page to merge with.</param>
<returns>
<see langword="True" /> if pages were merged into a single one;
otherwise (i.e. if second page still contains the items), <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.RecalculateMeasures">
<summary>
Recalculates the all measures.
</summary>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.AddToMeasures(`1)">
<summary>
Adds specified <paramref name="item" /> to all the measures.
</summary>
<param name="item">The item to add.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.AddToMeasures(Xtensive.Indexing.Measures.IHasMeasureResults{`1})">
<summary>
Adds specified <paramref name="item" /> to all the measures.
</summary>
<param name="item">The item to add.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.SubtractFromMeasures(`1)">
<summary>
Subtracts specified <paramref name="item" /> from all the measures.
</summary>
<param name="item">The item to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.SubtractFromMeasures(Xtensive.Indexing.Measures.IHasMeasureResults{`1})">
<summary>
Subtracts specified <paramref name="item" /> from all the measures.
</summary>
<param name="item">The item to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.LeafPage`2.#ctor(Xtensive.Indexing.Implementation.IIndexPageProvider{`0,`1})">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.Implementation.LeafPage`2.Size">
<summary>
Gets the size of the page.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.LeafPage`2.Key">
<summary>
Gets key of the page.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.LeafPage`2.Item(System.Int32)">
<summary>
Gets the <typeparamref name="TItem" /> at the specified index.
</summary>
<param name="index">The index of the item.</param>
</member>
<member name="T:Xtensive.Indexing.Providers.IndexPageProviderBase`2">
<summary>
Default base class for <see cref="!:Index<TKey,TItem>" /> page providers.
</summary>
<typeparam name="TKey">Key type.</typeparam>
<typeparam name="TItem">Value type.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.GetBloomFilter(System.Collections.Generic.IEnumerable{`1})">
<summary>
Gets the bloom filter for specified <paramref name="source" />.
</summary>
<param name="source">The source.</param>
<returns>The bloom filter.</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.AssignIdentifier(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Assigns (generates) an identifier to the page.
</summary>
<param name="page">Page to generate the identifier for.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.Resolve(Xtensive.Indexing.Implementation.IPageRef)">
<summary>
Resolves identifier by providing its owner.
</summary>
<param name="identifier">Identifier to resolve.</param>
<returns>Identifier owner.</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.AddToCache(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Adds the specified page to cache.
</summary>
<param name="page">The page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.RemoveFromCache(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Removes the specified page from cache.
</summary>
<param name="page">The page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.GetFromCache(Xtensive.Indexing.Implementation.IPageRef)">
<summary>
Gets the page from cache by specified <paramref name="pageRef" />.
</summary>
<param name="pageRef">The page reference.</param>
<returns>
</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.Flush">
<summary>
Flushes all cached page changes.
</summary>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.Clear">
<summary>
Clears the index.
</summary>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.CreateSerializer">
<summary>
Creates the serializer for the specified page provider.
</summary>
<returns>Newly created serializer.</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.Initialize">
<summary>
Initializes the index.
</summary>
</member>
<member name="M:Xtensive.Indexing.Providers.IndexPageProviderBase`2.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="P:Xtensive.Indexing.Providers.IndexPageProviderBase`2.Index">
<summary>
Gets the <see cref="P:Xtensive.Indexing.Implementation.IIndexPageProvider`2.Index" /> this provider is bound to.
</summary>
</member>
<member name="P:Xtensive.Indexing.Providers.IndexPageProviderBase`2.IsInitialized">
<summary>
Indicates if index is already initialized.
</summary>
</member>
<member name="P:Xtensive.Indexing.Providers.IndexPageProviderBase`2.Features">
<summary>
Gets index features supported by the provider.
</summary>
</member>
<member name="T:Xtensive.Indexing.Providers.StreamPageProvider`2">
<summary>
Serialize-and-read <see cref="T:System.IO.Stream" /> page provider.
</summary>
<typeparam name="TKey">Key type.</typeparam>
<typeparam name="TItem">Value type.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.GetBloomFilter(System.Collections.Generic.IEnumerable{`1})">
<summary>
Gets the bloom filter for specified <paramref name="source" />.
</summary>
<param name="source">The source.</param>
<returns>The bloom filter.</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.AssignIdentifier(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Assigns (generates) an identifier to the page.
</summary>
<param name="page">Page to generate the identifier for.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.Resolve(Xtensive.Indexing.Implementation.IPageRef)">
<summary>
Resolves identifier by providing its owner.
</summary>
<param name="identifier">Identifier to resolve.</param>
<returns>Identifier owner.</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.AddToCache(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Adds the specified page to cache.
</summary>
<param name="page">The page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.RemoveFromCache(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Removes the specified page from cache.
</summary>
<param name="page">The page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.GetFromCache(Xtensive.Indexing.Implementation.IPageRef)">
<summary>
Gets the page from cache by specified <paramref name="pageRef" />.
</summary>
<param name="pageRef">The page reference.</param>
<returns>
</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.Flush">
<summary>
Flushes all cached page changes.
</summary>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.Clear">
<summary>
Clears the index.
</summary>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.CreateSerializer">
<summary>
Creates the serializer for the specified page provider.
</summary>
<returns>Newly created serializer.</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.Initialize">
<summary>
Initializes the index.
</summary>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.#ctor(System.String,System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Providers.StreamPageProvider`2" /> class.
</summary>
<param name="fileName">File name.</param>
<param name="cacheSize">Page cache size (in pages).</param>
</member>
<member name="M:Xtensive.Indexing.Providers.StreamPageProvider`2.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="P:Xtensive.Indexing.Providers.StreamPageProvider`2.Features">
<summary>
Gets index features supported by the provider.
</summary>
</member>
<member name="P:Xtensive.Indexing.Providers.StreamPageProvider`2.StreamProvider">
<summary>
Gets the stream provider.
</summary>
</member>
<member name="P:Xtensive.Indexing.Providers.StreamPageProvider`2.Serializer">
<summary>
Gets the serializer user by this page provider.
</summary>
</member>
<member name="P:Xtensive.Indexing.Providers.StreamPageProvider`2.OffsetSerializer">
<summary>
Gets the offset serializer user by this page provider.
</summary>
</member>
<member name="T:Xtensive.Indexing.Implementation.StreamPageRef`2">
<summary>
Reference to the index page stored in the stream.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TValue">The type of the value.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Implementation.StreamPageRef`2.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
</summary>
<returns>
A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Implementation.StreamPageRef`2.Equals(Xtensive.Indexing.Implementation.StreamPageRef{`0,`1})">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="streamPageRef" /> parameter; otherwise, false.
</returns>
<param name="streamPageRef">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.StreamPageRef`2.Equals(System.Object)">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="streamPageRef" /> parameter; otherwise, false.
</returns>
<param name="streamPageRef">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.StreamPageRef`2.GetHashCode">
<summary>
Serves as a hash function for a particular type.
</summary>
<returns>
A hash code for the current <see cref="T:System.Object" />.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Implementation.StreamPageRef`2.Create(System.Int64)">
<summary>
Creates the <see cref="T:Xtensive.Indexing.Implementation.StreamPageRef`2" /> with specified <paramref name="offset" />.
</summary>
<param name="offset">The <see cref="P:Xtensive.Indexing.Implementation.StreamPageRef`2.Offset" /> of <see cref="T:Xtensive.Indexing.Implementation.StreamPageRef`2" /> to create.</param>
<returns>Newly created <see cref="T:Xtensive.Indexing.Implementation.StreamPageRef`2" /> with specified <paramref name="offset" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Implementation.StreamPageRef`2.Create(Xtensive.Indexing.Implementation.StreamPageRefType)">
<summary>
Creates the <see cref="T:Xtensive.Indexing.Implementation.StreamPageRef`2" /> of specified <paramref name="type" />.
</summary>
<param name="type">The type of <see cref="T:Xtensive.Indexing.Implementation.StreamPageRef`2" /> to create.</param>
<returns>Newly created <see cref="T:Xtensive.Indexing.Implementation.StreamPageRef`2" /> of specified <paramref name="type" />.</returns>
</member>
<member name="P:Xtensive.Indexing.Implementation.StreamPageRef`2.Offset">
<summary>
Gets the offset of serialized page data in stream.
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.StreamPageRef`2.IsDefined">
<summary>
Gets a value indicating whether this reference is defined (has defined offset).
</summary>
</member>
<member name="P:Xtensive.Indexing.Implementation.StreamPageRef`2.Type">
<summary>
Gets the type of reference.
</summary>
</member>
<member name="T:Xtensive.Indexing.Implementation.StreamPageRefType">
<summary>
<see cref="T:Xtensive.Indexing.Implementation.StreamPageRef`2" /> types.
</summary>
</member>
<member name="T:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2">
<summary>
Default base class for <see cref="T:Xtensive.Indexing.Index`2" /> page provider helpers.
</summary>
<typeparam name="TKey">Key type.</typeparam>
<typeparam name="TItem">Value type.</typeparam>
</member>
<member name="T:Xtensive.Indexing.Implementation.IIndexSerializer`2">
<summary>
<see cref="T:Xtensive.Indexing.Index`2" /> serializer for page providers.
</summary>
<typeparam name="TKey">Key type.</typeparam>
<typeparam name="TItem">Value type.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexSerializer`2.SerializeLeafPage(Xtensive.Indexing.Implementation.LeafPage{`0,`1})">
<summary>
Serializes the specified leaf page.
</summary>
<param name="page">The page.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexSerializer`2.SerializeInnerPage(Xtensive.Indexing.Implementation.InnerPage{`0,`1})">
<summary>
Serializes the specified inner page.
</summary>
<param name="page">The inner page.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexSerializer`2.SerializeDescriptorPage(Xtensive.Indexing.Implementation.DescriptorPage{`0,`1})">
<summary>
Serializes the specified descriptor page.
</summary>
<param name="page">The descriptor page.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexSerializer`2.SerializeBloomFilter(Xtensive.Indexing.Implementation.DescriptorPage{`0,`1})">
<summary>
Serializes the bloom filter.
</summary>
<param name="page">The descriptor page.</param>
</member>
<member name="M:Xtensive.Indexing.Implementation.IIndexSerializer`2.SerializeEof(Xtensive.Indexing.Implementation.DescriptorPage{`0,`1})">
<summary>
Serializes "EOF" mark.
</summary>
<param name="page">The descriptor page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2.SerializeLeafPage(Xtensive.Indexing.Implementation.LeafPage{`0,`1})">
<summary>
Serializes the specified leaf page.
</summary>
<param name="page">The page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2.SerializeInnerPage(Xtensive.Indexing.Implementation.InnerPage{`0,`1})">
<summary>
Serializes the specified inner page.
</summary>
<param name="page">The inner page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2.SerializeDescriptorPage(Xtensive.Indexing.Implementation.DescriptorPage{`0,`1})">
<summary>
Serializes the specified descriptor page.
</summary>
<param name="page">The descriptor page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2.SerializeBloomFilter(Xtensive.Indexing.Implementation.DescriptorPage{`0,`1})">
<summary>
Serializes the bloom filter.
</summary>
<param name="page">The descriptor page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2.SerializeEof(Xtensive.Indexing.Implementation.DescriptorPage{`0,`1})">
<summary>
Serializes "EOF" mark.
</summary>
<param name="page">The descriptor page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2.#ctor(Xtensive.Indexing.Implementation.IIndexPageProvider{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2" /> class.
</summary>
<param name="provider">The <see cref="P:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2.Provider" /> property value.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="P:Xtensive.Indexing.Providers.Internals.IndexSerializerBase`2.Provider">
<summary>
Gets the provider this serializer belongs to.
</summary>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.StreamSerializer`2.#ctor(Xtensive.Indexing.Implementation.IIndexPageProvider{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Providers.Internals.StreamSerializer`2" /> class.
</summary>
<param name="provider">The index page provider.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.StreamSerializer`2.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="T:Xtensive.Indexing.CollectionIndex`2">
<summary>
Universal generic index to be used with <see cref="T:Xtensive.Core.Notifications.ICollectionChangeNotifier`1" /> implementors and
optionally with <see cref="T:Xtensive.Core.Notifications.IChangeNotifier" /> implementors.
</summary>
<remarks>This type is not intended to be used directly. It throws <see cref="T:System.NotSupportedException" /> on
<see cref="M:Xtensive.Indexing.CollectionIndex`2.Add(`1)" />, <see cref="M:Xtensive.Indexing.CollectionIndex`2.Remove(`1)" />, <see cref="M:Xtensive.Indexing.CollectionIndex`2.Clear" /> operations.</remarks>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
</member>
<member name="T:Xtensive.Indexing.CollectionIndexBase">
<summary>
Base class for any <see cref="T:Xtensive.Indexing.CollectionIndex`2" />.
</summary>
</member>
<member name="M:Xtensive.Indexing.CollectionIndexBase.GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.CollectionIndexBase.Xtensive#Indexing#IIndex#Clear">
<exception cref="T:System.NotSupportedException">Thrown always.</exception>
<summary>
Clears this instance.
</summary>
</member>
<member name="P:Xtensive.Indexing.CollectionIndexBase.Name">
<summary>
Gets the name of the index.
</summary>
</member>
<member name="P:Xtensive.Indexing.CollectionIndexBase.Index">
<summary>
Gets the underlying index.
</summary>
</member>
<member name="P:Xtensive.Indexing.CollectionIndexBase.Count">
<summary>
Gets the number of elements contained in a collection.
</summary>
</member>
<member name="T:Xtensive.Indexing.INonUniqueIndex`2">
<summary>
Non-unique index contract.
</summary>
<typeparam name="TKey">The type of the index key.</typeparam>
<typeparam name="TItem">The type of the item (should include both key and value).</typeparam>
</member>
<member name="M:Xtensive.Indexing.INonUniqueIndex`2.GetItems(`0)">
<summary>
Gets the items with the specified key.
</summary>
<param name="key">The key.</param>
<returns>
<see cref="T:System.Collections.Generic.IEnumerable`1" /> of <typeparamref name="TItem" /> instances.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.GetMeasureResult(System.String)">
<summary>
Gets the measurement for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.GetMeasureResults(System.String[])">
<summary>
Gets the measurements for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.GetMeasureResult(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String)">
<summary>
Gets the measurement result for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.GetMeasureResults(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String[])">
<summary>
Gets the measurement result for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#INonUniqueIndex{TKey@TItem}#GetItems(`0)">
<summary>
Gets the items with the specified key.
</summary>
<param name="key">The key.</param>
<returns>
<see cref="T:System.Collections.Generic.IEnumerable`1" /> of <typeparamref name="TItem" /> instances.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IIndex{TKey@TItem}#Add(`1)">
<exception cref="T:System.NotSupportedException">Always.</exception>
<summary>
Adds the element to the index.
</summary>
<param name="item">The item to add.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IIndex{TKey@TItem}#Remove(`1)">
<exception cref="T:System.NotSupportedException">Always.</exception>
<summary>
Removes the <paramref name="item" /> from the index.
</summary>
<param name="item">Item to remove.</param>
<returns>
<see langword="True" /> if the item is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IIndex{TKey@TItem}#Replace(`1)">
<exception cref="T:System.NotSupportedException">Always.</exception>
<summary>
Replaces the <paramref name="item" /> using extracted key.
</summary>
<param name="item">Item to replace.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Item with extracted key could not be found.</exception>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IIndex{TKey@TItem}#RemoveKey(`0)">
<exception cref="T:System.NotSupportedException">Always.</exception>
<summary>
Removes the item(s) from the index by its (their) <paramref name="key" />.
</summary>
<param name="key">Key of the item(s) to remove.</param>
<returns>
<see langword="True" /> if the item(s) with specified key is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IIndex{TKey@TItem}#Contains(`1)">
<summary>
Determines whether the index contains specified item.
</summary>
<returns>
<see langword="true" /> if this instance contains the item; otherwise, <see langword="false" />.
</returns>
<param name="item">The item to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IIndex{TKey@TItem}#ContainsKey(`0)">
<summary>
Determines whether the index contains specified key.
</summary>
<returns>
<see langword="true" /> if this instance contains the key; otherwise, <see langword="false" />.
</returns>
<param name="key">The key to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IOrderedEnumerable{TKey@TItem}#Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="ray">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IOrderedEnumerable{TKey@TItem}#Seek(`0)">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="ray">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IOrderedEnumerable{TKey@TItem}#GetKeys(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TKey" />s in the given range.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IOrderedEnumerable{TKey@TItem}#CreateReader(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Creates <see cref="T:Xtensive.Indexing.IIndexReader`2" /> object allowing to enumerate
the items in the specified <paramref name="range" />.
</summary>
<param name="range">The range to provide the reader for.</param>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IOrderedEnumerable{TKey@TItem}#GetItems(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the items with the specified key.
</summary>
<param name="range">The key.</param>
<returns>
<see cref="T:System.Collections.Generic.IEnumerable`1" /> of <typeparamref name="TItem" /> instances.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Xtensive#Indexing#IOrderedEnumerable{TKey@TItem}#GetItems(Xtensive.Indexing.RangeSet{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the items with the specified key.
</summary>
<param name="range">The key.</param>
<returns>
<see cref="T:System.Collections.Generic.IEnumerable`1" /> of <typeparamref name="TItem" /> instances.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.GetStatistics">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Optimization.IStatistics`1" />.
</summary>
<returns>The statistics.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.GetEntireKeyComparer">
<summary>
Gets the <see cref="T:Xtensive.Core.Comparison.AdvancedComparer`1" /> which is used by the index to compare keys.
</summary>
<returns>The comparer.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.Resolve(`0)">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.#ctor(System.String,Xtensive.Core.Notifications.ICollectionChangeNotifier{`1},Xtensive.Indexing.IUniqueIndex{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.CollectionIndex`2" /> class.
</summary>
<param name="name">Index name.</param>
<param name="collection">The collection to bind the index to.</param>
<param name="implementation">The index implementor.</param>
</member>
<member name="M:Xtensive.Indexing.CollectionIndex`2.#ctor(System.String,Xtensive.Core.Notifications.ICollectionChangeNotifier{`1},Xtensive.Indexing.INonUniqueIndex{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.CollectionIndex`2" /> class.
</summary>
<param name="name">Index name.</param>
<param name="collection">The collection to bind the index to.</param>
<param name="implementation">The index implementor.</param>
</member>
<member name="P:Xtensive.Indexing.CollectionIndex`2.Name">
<summary>
Gets the name of the index.
</summary>
</member>
<member name="P:Xtensive.Indexing.CollectionIndex`2.Index">
<summary>
Gets the underlying index.
</summary>
</member>
<member name="P:Xtensive.Indexing.CollectionIndex`2.KeyExtractor">
<summary>
Gets key extractor associated with the index.
</summary>
</member>
<member name="P:Xtensive.Indexing.CollectionIndex`2.KeyComparer">
<summary>
Gets key comparer.
</summary>
</member>
<member name="P:Xtensive.Indexing.CollectionIndex`2.EntireKeyComparer">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Entire`1" /> comparer for <typeparamref name="TKey" /> type.
</summary>
</member>
<member name="P:Xtensive.Indexing.CollectionIndex`2.AsymmetricKeyCompare">
<summary>
Gets the delegate used to compare
<see cref="T:Xtensive.Indexing.Entire`1" /> for <typeparamref name="TKey" /> type and <typeparamref name="TKey" /> type.
</summary>
</member>
<member name="P:Xtensive.Indexing.CollectionIndex`2.Measures">
<summary>
Gets the set of measures.
</summary>
</member>
<member name="T:Xtensive.Indexing.CollectionIndexSet`1">
<summary>
A set of indexes that serves the collection of <typeparamref name="TItem" />s.
</summary>
<typeparam name="TItem">The type of collection items.</typeparam>
</member>
<member name="M:Xtensive.Indexing.CollectionIndexSet`1.GetItem``1">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.CollectionIndexSet`1.GetItemName(Xtensive.Indexing.CollectionIndexBase)">
<summary>
Gets the name of the <paramref name="item" />.
</summary>
<param name="item">Item to get the name of.</param>
<returns>Name of the item.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndexSet`1.CreateClone">
<summary>
Creates a new instance of this class.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<returns>New instance of this class.</returns>
</member>
<member name="M:Xtensive.Indexing.CollectionIndexSet`1.#ctor">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.CollectionIndexSet`1.#ctor(Xtensive.Indexing.CollectionIndexBase)">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.CollectionIndexSet`1.#ctor(Xtensive.Indexing.CollectionIndexBase,Xtensive.Indexing.CollectionIndexBase[])">
<inheritdoc />
</member>
<member name="T:Xtensive.Indexing.Composite.CompositeIndex`2">
<summary>
Composite index.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Composite.CompositeIndex`2.GetStatistics">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Optimization.IStatistics`1" />.
</summary>
<returns>The statistics.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.CompositeIndex`2.GetEntireKeyComparer">
<summary>
Gets the <see cref="T:Xtensive.Core.Comparison.AdvancedComparer`1" /> which is used by the index to compare keys.
</summary>
<returns>The comparer.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.CompositeIndex`2.OnConfigured">
<summary>
Called by <see cref="M:Xtensive.Core.Configuration.ConfigurableBase`1.Configure(`0)" /> on completion of
(accepting the) configuration.
</summary>
</member>
<member name="P:Xtensive.Indexing.Composite.CompositeIndex`2.Segments">
<summary>
Gets the index segments.
</summary>
</member>
<member name="T:Xtensive.Indexing.Composite.IndexConfiguration`2">
<summary>
A <see cref="T:Xtensive.Indexing.Composite.CompositeIndex`2" /> configuration.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the Item.</typeparam>
</member>
<member name="T:Xtensive.Indexing.UniqueIndexWrapperConfiguration`4">
<summary>
The configuration of <see cref="T:Xtensive.Indexing.IOrderedIndex`2" /> wrapper.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
<typeparam name="TUniqueKey">The type of the unique key.</typeparam>
<typeparam name="TUniqueItem">The type of the unique item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.UniqueIndexWrapperConfiguration`4.Validate">
<summary>
Validates the configuration.
Should always be invoked by <see cref="M:Xtensive.Core.ILockable.Lock(System.Boolean)" /> method
before actually locking the configuration.
</summary>
</member>
<member name="M:Xtensive.Indexing.UniqueIndexWrapperConfiguration`4.Clone(Xtensive.Core.Configuration.ConfigurationBase)">
<summary>
Copies the properties from the <paramref name="source" />
configuration to this one.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<param name="source">The configuration to copy properties from.</param>
</member>
<member name="M:Xtensive.Indexing.UniqueIndexWrapperConfiguration`4.Lock(System.Boolean)">
<summary>
Locks the instance and (possibly) all dependent objects.
</summary>
<param name="recursive">
<see langword="True" /> if all dependent objects should be locked as well.</param>
</member>
<member name="M:Xtensive.Indexing.UniqueIndexWrapperConfiguration`4.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.UniqueIndexWrapperConfiguration`4" /> class.
</summary>
</member>
<member name="M:Xtensive.Indexing.UniqueIndexWrapperConfiguration`4.#ctor(Xtensive.Indexing.IndexConfigurationBase{`2,`3})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.UniqueIndexWrapperConfiguration`4" /> class.
</summary>
<param name="uniqueIndexConfiguration">The unique index configuration.</param>
</member>
<member name="P:Xtensive.Indexing.UniqueIndexWrapperConfiguration`4.UniqueIndexConfiguration">
<summary>
Gets or sets the configuration of the unique index.
</summary>
<value>The base index configuration.</value>
</member>
<member name="P:Xtensive.Indexing.UniqueIndexWrapperConfiguration`4.UniqueIndex">
<summary>
Gets or sets the unique index.
</summary>
<value>The unique index.</value>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexConfiguration`2.Validate">
<summary>
Validates the configuration.
Should always be invoked by <see cref="M:Xtensive.Core.ILockable.Lock(System.Boolean)" /> method
before actually locking the configuration.
</summary>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexConfiguration`2.CreateClone">
<summary>
Creates a new instance of this class.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<returns>New instance of this class.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexConfiguration`2.Clone(Xtensive.Core.Configuration.ConfigurationBase)">
<summary>
Copies the properties from the <paramref name="source" />
configuration to this one.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<param name="source">The configuration to copy properties from.</param>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexConfiguration`2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Composite.IndexConfiguration`2" /> class.
</summary>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexConfiguration`2.#ctor(Xtensive.Indexing.IndexConfigurationBase{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Composite.IndexConfiguration`2" /> class.
</summary>
<param name="uniqueIndexConfiguration">The unique index configuration.</param>
</member>
<member name="P:Xtensive.Indexing.Composite.IndexConfiguration`2.Segments">
<summary>
Gets the segment configurations.
</summary>
<value>The segment configurations.</value>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentSet`2.GetItemName(Xtensive.Indexing.Composite.IndexSegment{`0,`1})">
<summary>
Gets the name of the <paramref name="item" />.
</summary>
<param name="item">Item to get the name of.</param>
<returns>Name of the item.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentSet`2.CreateClone">
<summary>
Creates a new instance of this class.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<returns>New instance of this class.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentSet`2.Clone(Xtensive.Core.Configuration.ConfigurationBase)">
<summary>
Copies the properties from the <paramref name="source" />
configuration to this one.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<param name="source">The configuration to copy properties from.</param>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentReader`2.#ctor(Xtensive.Indexing.Composite.IndexSegment{`0,`1},Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Composite.IndexSegmentReader`2" /> class.
</summary>
<param name="index">The index.</param>
<param name="range">The range to read.</param>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentReader`2.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="T:Xtensive.Indexing.DefaultRangeHandler`2">
<summary>
Default implementation of <see cref="T:Xtensive.Indexing.RangeHandler`2" />.
</summary>
<remarks>
Casts <typeparamref name="TNode" /> to <see cref="T:Xtensive.Indexing.IHasRange`2" /> and calls interface methods. If cast is invalid, throws <see cref="T:System.InvalidOperationException" /> exception.
</remarks>
<typeparam name="TNode">Type of node.</typeparam>
<typeparam name="TPoint">Type of <see cref="T:Xtensive.Indexing.Range`1" />' point.</typeparam>
</member>
<member name="T:Xtensive.Indexing.RangeHandler`2">
<summary>
Represents a wrapper that handles all range-specific operations.
</summary>
<typeparam name="TNode">Node type to which range operations are applied.</typeparam>
<typeparam name="TPoint">Type of the point of <see cref="T:Xtensive.Indexing.Range`1" />.</typeparam>
</member>
<member name="M:Xtensive.Indexing.RangeHandler`2.Intersect(`0,Xtensive.Indexing.Range{`1})">
<summary>
Intersects <paramref name="x" /> with <see cref="T:Xtensive.Indexing.Range`1" /><paramref name="y" />.
</summary>
<param name="x">Node to intersect with.</param>
<param name="y">Range.</param>
<returns>A result <typeparamref name="TNode" /> of the operation.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeHandler`2.Union(`0,`0)">
<summary>
Unions <paramref name="x" /> with <typeparamref name="TNode" /><paramref name="y" />.
</summary>
<param name="x">Node to union with.</param>
<param name="y">Node.</param>
<returns>
<see cref="T:Xtensive.Core.Collections.FixedList3`1" /> as result of the operation.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeHandler`2.Subtract(`0,Xtensive.Indexing.Range{`1})">
<summary>
Subtracts from <paramref name="x" /><see cref="T:Xtensive.Indexing.Range`1" /><paramref name="y" />.
</summary>
<param name="x">Minuend <typeparamref name="TNode" />.</param>
<param name="y">Subtrahend <see cref="T:Xtensive.Indexing.Range`1" />.</param>
<returns>
<see cref="T:Xtensive.Core.Collections.FixedList3`1" /> as a result of the operation.</returns>
</member>
<member name="P:Xtensive.Indexing.RangeHandler`2.Comparer">
<summary>
Gets <see cref="T:System.Collections.Generic.IComparer`1" /> instance that compares range' points.
</summary>
</member>
<member name="P:Xtensive.Indexing.RangeHandler`2.RangeExtractor">
<summary>
Gets <see cref="T:System.Converter`2" /> range extractor.
</summary>
</member>
<member name="M:Xtensive.Indexing.DefaultRangeHandler`2.#ctor(Xtensive.Core.Comparison.AdvancedComparer{`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.DefaultRangeHandler`2" /> class.
</summary>
<param name="comparer">Point comparer.</param>
<exception cref="T:System.InvalidOperationException">
<typeparamref name="TNode" /> could not be casted to <see cref="T:Xtensive.Indexing.IHasRange`2" /> interface.</exception>
</member>
<member name="T:Xtensive.Indexing.DictionaryIndex`2">
<summary>
Unique index based on <see cref="T:System.Collections.Generic.Dictionary`2" />.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.GetItem(`0)">
<summary>
Gets the item by its key.
</summary>
<value>The element with the specified key.</value>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
<exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key" /> is not found.</exception>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.Contains(`1)">
<summary>
Determines whether the index contains specified item.
</summary>
<returns>
<see langword="true" /> if this instance contains the item; otherwise, <see langword="false" />.
</returns>
<param name="item">The item to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.ContainsKey(`0)">
<summary>
Determines whether the index contains specified key.
</summary>
<returns>
<see langword="true" /> if this instance contains the key; otherwise, <see langword="false" />.
</returns>
<param name="key">The key to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.Add(`1)">
<summary>
Adds the element to the index.
</summary>
<param name="item">The item to add.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.Remove(`1)">
<summary>
Removes the <paramref name="item" /> from the index.
</summary>
<param name="item">Item to remove.</param>
<returns>
<see langword="True" /> if the item is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.Replace(`1)">
<summary>
Replaces the <paramref name="item" /> using extracted key.
</summary>
<param name="item">Item to replace.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Item with extracted key could not be found.</exception>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.RemoveKey(`0)">
<summary>
Removes the item(s) from the index by its (their) <paramref name="key" />.
</summary>
<param name="key">Key of the item(s) to remove.</param>
<returns>
<see langword="True" /> if the item(s) with specified key is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.Clear">
<summary>
Clears this instance.
</summary>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.GetMeasureResult(System.String)">
<summary>
Gets the measurement for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.DictionaryIndex`2.GetMeasureResults(System.String[])">
<summary>
Gets the measurements for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="P:Xtensive.Indexing.DictionaryIndex`2.Count">
<summary>
Gets the number of elements contained in a collection.
</summary>
</member>
<member name="T:Xtensive.Indexing.Entire`1">
<summary>
Provides additional positive and negative infinity
values or infinitesimal shift values to its type parameter <typeparamref name="T" />.
Much like <see cref="T:System.Nullable`1" />, but for describing
<see cref="T:Xtensive.Indexing.Entire`1" /> value type.
</summary>
<typeparam name="T">The type to extend with <see cref="P:Xtensive.Indexing.Entire`1.ValueType" /> information.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Entire`1.Clone">
<summary>
Creates a new object that is a copy of the current instance.
</summary>
<returns>
A new object that is a copy of this instance.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Entire`1.System#ICloneable#Clone">
<summary>
Creates a new object that is a copy of the current instance.
</summary>
<returns>
A new object that is a copy of this instance.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Entire`1.op_Explicit(Xtensive.Indexing.Entire{`0})~`0">
<summary>
Performs an explicit conversion from <see cref="T:Xtensive.Indexing.Entire`1" /> to <typeparamref name="T" />.
</summary>
<param name="value">The value.</param>
<returns>The result of the conversion.</returns>
</member>
<member name="M:Xtensive.Indexing.Entire`1.op_Implicit(`0)~Xtensive.Indexing.Entire{`0}">
<summary>
Performs an implicit conversion from <typeparamref name="T" /> to <see cref="T:Xtensive.Indexing.Entire`1" />.
</summary>
<param name="value">The value.</param>
<returns>The result of the conversion.</returns>
</member>
<member name="M:Xtensive.Indexing.Entire`1.op_Equality(Xtensive.Indexing.Entire{`0},Xtensive.Indexing.Entire{`0})">
<summary>
Implements the equality operator.
</summary>
<param name="x">The first argument.</param>
<param name="y">The second argument.</param>
<returns>The result of the operator.</returns>
</member>
<member name="M:Xtensive.Indexing.Entire`1.op_Inequality(Xtensive.Indexing.Entire{`0},Xtensive.Indexing.Entire{`0})">
<summary>
Implements the inequality operator.
</summary>
<param name="x">The first argument.</param>
<param name="y">The second argument.</param>
<returns>The result of the operator.</returns>
</member>
<member name="M:Xtensive.Indexing.Entire`1.CompareTo(Xtensive.Indexing.Entire{`0})">
<summary>
Compares the current object with another object of the same type.
</summary>
<returns>
A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings:
Value
Meaning
Less than zero
This object is less than the <paramref name="other" /> parameter.
Zero
This object is equal to <paramref name="other" />.
Greater than zero
This object is greater than <paramref name="other" />.
</returns>
<param name="other">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Entire`1.System#IComparable{Xtensive#Indexing#Entire{T}}#CompareTo(Xtensive.Indexing.Entire{`0})">
<summary>
Compares the current object with another object of the same type.
</summary>
<returns>
A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings:
Value
Meaning
Less than zero
This object is less than the <paramref name="other" /> parameter.
Zero
This object is equal to <paramref name="other" />.
Greater than zero
This object is greater than <paramref name="other" />.
</returns>
<param name="other">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Entire`1.CompareTo(`0)">
<summary>
Compares the current object with another object of the same type.
</summary>
<returns>
A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings:
Value
Meaning
Less than zero
This object is less than the <paramref name="other" /> parameter.
Zero
This object is equal to <paramref name="other" />.
Greater than zero
This object is greater than <paramref name="other" />.
</returns>
<param name="other">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Entire`1.Equals(Xtensive.Indexing.Entire{`0})">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
</returns>
<param name="other">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Entire`1.System#IEquatable{Xtensive#Indexing#Entire{T}}#Equals(Xtensive.Indexing.Entire{`0})">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
</returns>
<param name="other">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Entire`1.Equals(`0)">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
</returns>
<param name="other">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Entire`1.Equals(System.Object)">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
</returns>
<param name="other">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Entire`1.GetHashCode">
<summary>
Returns the hash code for this instance.
</summary>
<returns>
A 32-bit signed integer that is the hash code for this instance.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Entire`1.ToString">
<summary>
Returns the fully qualified type name of this instance.
</summary>
<returns>
A <see cref="T:System.String" /> containing a fully qualified type name.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Entire`1.#ctor(Xtensive.Indexing.InfinityType)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Entire`1" /> class.
</summary>
<param name="infinityType">Type of the infinity.</param>
</member>
<member name="M:Xtensive.Indexing.Entire`1.#ctor(`0)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Entire`1" /> class.
</summary>
<param name="value">The value.</param>
</member>
<member name="M:Xtensive.Indexing.Entire`1.#ctor(`0,Xtensive.Indexing.EntireValueType)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Entire`1" /> class.
</summary>
<param name="value">The value.</param>
<param name="lastValueType">
<see cref="P:Xtensive.Indexing.Entire`1.ValueType" /> property value.</param>
</member>
<member name="M:Xtensive.Indexing.Entire`1.#ctor(`0,Xtensive.Core.Direction)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Entire`1" /> class.
</summary>
<param name="value">The value.</param>
<param name="infinitesimalShiftDirection">Infinitesimal shift direction. Can't have value Direction.None.</param>
</member>
<member name="P:Xtensive.Indexing.Entire`1.MinValue">
<summary>
The smallest possible value of <see cref="T:Xtensive.Indexing.Entire`1" /> (negative infinity).
</summary>
<value>The negative infinity.</value>
</member>
<member name="P:Xtensive.Indexing.Entire`1.MaxValue">
<summary>
The largest possible value of <see cref="T:Xtensive.Indexing.Entire`1" /> (positive infinity).
</summary>
<value>The positive infinity.</value>
</member>
<member name="P:Xtensive.Indexing.Entire`1.Value">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.Entire`1.ValueType">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.Entire`1.HasValue">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.GetItem(`0)">
<summary>
Gets the item by its key.
</summary>
<value>The element with the specified key.</value>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
<exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key" /> is not found.</exception>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.Contains(`1)">
<summary>
Determines whether the index contains specified item.
</summary>
<returns>
<see langword="true" /> if this instance contains the item; otherwise, <see langword="false" />.
</returns>
<param name="item">The item to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.ContainsKey(`0)">
<summary>
Determines whether the index contains specified key.
</summary>
<returns>
<see langword="true" /> if this instance contains the key; otherwise, <see langword="false" />.
</returns>
<param name="key">The key to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.Seek(`0)">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="key">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="key">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.CreateReader(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Creates <see cref="T:Xtensive.Indexing.IIndexReader`2" /> object allowing to enumerate
the items in the specified <paramref name="range" />.
</summary>
<param name="range">The range to provide the reader for.</param>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.Add(`1)">
<summary>
Adds the element to the index.
</summary>
<param name="item">The item to add.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.Remove(`1)">
<summary>
Removes the <paramref name="item" /> from the index.
</summary>
<param name="item">Item to remove.</param>
<returns>
<see langword="True" /> if the item is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.Replace(`1)">
<summary>
Replaces the <paramref name="item" /> using extracted key.
</summary>
<param name="item">Item to replace.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Item with extracted key could not be found.</exception>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.RemoveKey(`0)">
<summary>
Removes the item(s) from the index by its (their) <paramref name="key" />.
</summary>
<param name="key">Key of the item(s) to remove.</param>
<returns>
<see langword="True" /> if the item(s) with specified key is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.Clear">
<summary>
Clears this instance.
</summary>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.GetMeasureResult(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String)">
<summary>
Gets the measurement result for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.GetMeasureResults(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String[])">
<summary>
Gets the measurement result for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.GetMeasureResult(System.String)">
<summary>
Gets the measurement for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.GetMeasureResults(System.String[])">
<summary>
Gets the measurements for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegment`2.Configure(Xtensive.Indexing.IndexConfigurationBase{`0,`1})">
<summary>
Configures the instance by the specified <paramref name="configuration" />.
Invoked by <see cref="P:Xtensive.Core.IConfigurable`1.Configuration" /> property setter.
</summary>
<param name="configuration">The configuration.</param>
</member>
<member name="P:Xtensive.Indexing.Composite.IndexSegment`2.SegmentName">
<summary>
Gets the name of the segment.
</summary>
</member>
<member name="P:Xtensive.Indexing.Composite.IndexSegment`2.SegmentNumber">
<summary>
Gets the segment number.
</summary>
</member>
<member name="P:Xtensive.Indexing.Composite.IndexSegment`2.CompositeIndex">
<summary>
Gets the composite index this instance belongs to.
</summary>
</member>
<member name="P:Xtensive.Indexing.Composite.IndexSegment`2.EntireConverter">
<summary>
Gets the entire converter.
</summary>
</member>
<member name="P:Xtensive.Indexing.Composite.IndexSegment`2.MeasureResults">
<inheritdoc />
</member>
<member name="T:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2">
<summary>
The configuration of index segment.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the indexed item.</typeparam>
<seealso cref="T:Xtensive.Indexing.IndexConfigurationBase`2" />
<seealso cref="T:Xtensive.Indexing.Composite.CompositeIndex`2" />
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2.Validate">
<summary>
Validates the configuration.
Should always be invoked by <see cref="M:Xtensive.Core.ILockable.Lock(System.Boolean)" /> method
before actually locking the configuration.
</summary>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2.CreateClone">
<summary>
Creates a new instance of this class.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<returns>New instance of this class.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2.Clone(Xtensive.Core.Configuration.ConfigurationBase)">
<summary>
Copies the properties from the <paramref name="source" />
configuration to this one.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<param name="source">The configuration to copy properties from.</param>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2" /> class.
</summary>
<param name="segmentName">The name of the segment.</param>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2" /> class.
</summary>
</member>
<member name="P:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2.SegmentName">
<summary>
Gets or sets the name of the segment.
</summary>
<value>The name of the segment.</value>
</member>
<member name="P:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2.SegmentNumber">
<summary>
Gets the segment number.
</summary>
<value>The segment number.</value>
</member>
<member name="P:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2.MeasureMapping">
<summary>
Gets the measure mapping.
</summary>
<value>The measure mapping.</value>
</member>
<member name="T:Xtensive.Indexing.Composite.IndexSegmentConfigurationSet`2">
<summary>
A set of <see cref="T:Xtensive.Indexing.Composite.IndexSegmentConfiguration`2" /> items.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
<seealso cref="T:Xtensive.Indexing.IndexConfigurationBase`2" />
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentConfigurationSet`2.GetItemName(Xtensive.Indexing.Composite.IndexSegmentConfiguration{`0,`1})">
<summary>
Gets the name of the <paramref name="item" />.
</summary>
<param name="item">Item to get the name of.</param>
<returns>Name of the item.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentConfigurationSet`2.CreateClone">
<summary>
Creates a new instance of this class.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<returns>New instance of this class.</returns>
</member>
<member name="M:Xtensive.Indexing.Composite.IndexSegmentConfigurationSet`2.Clone(Xtensive.Core.Configuration.ConfigurationBase)">
<summary>
Copies the properties from the <paramref name="source" />
configuration to this one.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<param name="source">The configuration to copy properties from.</param>
</member>
<member name="M:Xtensive.Indexing.EntireHasher`1.GetHash(Xtensive.Indexing.Entire{`0})">
<summary>
Calculates hash.
</summary>
<param name="value">Object to calculate hash to.</param>
<returns>Hash.</returns>
</member>
<member name="M:Xtensive.Indexing.EntireHasher`1.GetHashes(Xtensive.Indexing.Entire{`0},System.Int32)">
<summary>
Calculates <paramref name="count" /> of different hashes at once.
</summary>
<param name="value">Object to calculate hashes for.</param>
<param name="count">Count of hashes to calculate.</param>
<returns>Array of <paramref name="count" /> hashes.</returns>
</member>
<member name="T:Xtensive.Indexing.EntireValueType">
<summary>
Enumerates possible types of entire value type.
</summary>
</member>
<member name="F:Xtensive.Indexing.EntireValueType.Default">
<summary>
Default type. Is equal to <see cref="F:Xtensive.Indexing.EntireValueType.Exact" />.
</summary>
</member>
<member name="F:Xtensive.Indexing.EntireValueType.Exact">
<summary>
The exact value. No infinity.
</summary>
</member>
<member name="F:Xtensive.Indexing.EntireValueType.PositiveInfinitesimal">
<summary>
Exact value plus infinitesimal.
</summary>
</member>
<member name="F:Xtensive.Indexing.EntireValueType.NegativeInfinitesimal">
<summary>
Exact value minus infinitesimal.
</summary>
</member>
<member name="F:Xtensive.Indexing.EntireValueType.PositiveInfinity">
<summary>
Positive infinity.
</summary>
</member>
<member name="F:Xtensive.Indexing.EntireValueType.NegativeInfinity">
<summary>
Negative infinity.
</summary>
</member>
<member name="T:Xtensive.Indexing.IndexFactory">
<summary>
Index factory. Creates and configures indexes.
</summary>
</member>
<member name="M:Xtensive.Indexing.IndexFactory.CreateUnique``3(Xtensive.Indexing.IndexConfigurationBase{``0,``1})">
<summary>
Creates the unique index.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
<typeparam name="TImplementation">The type of the index implementation.</typeparam>
<param name="configuration">The index descriptor.</param>
<returns>Newly created and initialized with <paramref name="configuration" /><see cref="T:Xtensive.Indexing.IUniqueIndex`2" /> instance</returns>
</member>
<member name="M:Xtensive.Indexing.IndexFactory.CreateUniqueOrdered``3(Xtensive.Indexing.IndexConfigurationBase{``0,``1})">
<summary>
Creates the unique index.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
<typeparam name="TImplementation">The type of the index implementation.</typeparam>
<param name="configuration">The index descriptor.</param>
<returns>Newly created and initialized with <paramref name="configuration" /><see cref="T:Xtensive.Indexing.IUniqueIndex`2" /> instance</returns>
</member>
<member name="M:Xtensive.Indexing.IndexFactory.CreateNonUnique``4(Xtensive.Indexing.NonUniqueIndexConfiguration{``0,``1,``2})">
<summary>
Creates the non-unique index.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TUniqueKey">The type of the unique key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
<typeparam name="TImplementation">The type of the underlying index implementation.</typeparam>
<param name="configuration">The index configuration.</param>
<returns>
Newly created and initialized with <paramref name="configuration" /><see cref="T:Xtensive.Indexing.INonUniqueIndex`2" /> instance.
</returns>
</member>
<member name="M:Xtensive.Indexing.IndexFactory.CreateDifferential``4(Xtensive.Indexing.Differential.DifferentialIndexConfiguration{``0,``1})">
<summary>
Creates the differential index.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
<typeparam name="TImplementation">The type of the underlying index implementation.</typeparam>
<typeparam name="TImpl">The type of the unique ordered index implementation.</typeparam>
<param name="configuration">The configuration.</param>
<returns>
</returns>
</member>
<member name="M:Xtensive.Indexing.IndexFactory.CreateComposite``3(Xtensive.Indexing.Composite.IndexConfiguration{``0,``1})">
<summary>
Creates the composite index.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
<typeparam name="TImplementation">The type of the underlying unique index implementation.</typeparam>
<param name="configuration">The index configuration.</param>
<returns>
Newly created and initialized with <paramref name="configuration" /><see cref="T:Xtensive.Indexing.Composite.CompositeIndex`2" /> instance.
</returns>
</member>
<member name="T:Xtensive.Indexing.InfinityType">
<summary>
Enumerates possible types of infinity.
</summary>
</member>
<member name="F:Xtensive.Indexing.InfinityType.None">
<summary>
No infinity.
</summary>
</member>
<member name="F:Xtensive.Indexing.InfinityType.Positive">
<summary>
Positive infinity.
</summary>
</member>
<member name="F:Xtensive.Indexing.InfinityType.Negative">
<summary>
Negative infinity.
</summary>
</member>
<member name="T:Xtensive.Indexing.ICollectionIndexProvider">
<summary>
Creates indexes for collections.
</summary>
</member>
<member name="M:Xtensive.Indexing.ICollectionIndexProvider.CreateIndex``3(System.String,Xtensive.Core.Notifications.ICollectionChangeNotifier{``1},System.Boolean,System.Converter{``1,``0})">
<summary>
Creates either unique or non-unique index for the <paramref name="owner" />.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the value.</typeparam>
<typeparam name="TImplementation">The type of the implementation.</typeparam>
<param name="name">The name of the index.</param>
<param name="owner">The collection to be indexed.</param>
<param name="unique">
<see langword="True" /> if created index should be unique;
otherwise, <see langword="false" />.</param>
<param name="extractKey">Key extractor.</param>
<returns>
<see cref="T:Xtensive.Indexing.IIndex" /> instance.
</returns>
<remarks>This method always creates <see cref="T:Xtensive.Indexing.CollectionIndex`2" /> instance
wrapping the implementation of specified type (<typeparamref name="TImplementation" />).</remarks>
</member>
<member name="M:Xtensive.Indexing.ICollectionIndexProvider.CreateUniqueIndex``3(System.String,Xtensive.Core.Notifications.ICollectionChangeNotifier{``1},System.Converter{``1,``0})">
<summary>
Creates unique index for the <paramref name="owner" />.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the value.</typeparam>
<param name="name">The name of the index.</param>
<param name="owner">The collection to be indexed.</param>
<param name="extractKey">Key extractor.</param>
<returns>
<see cref="T:Xtensive.Indexing.IIndex`2" /> instance.
</returns>
<remarks>This method always creates <see cref="T:Xtensive.Indexing.CollectionIndex`2" /> instance
wrapping the implementation of specified type (<typeparamref name="TImplementation" />).</remarks>
</member>
<member name="M:Xtensive.Indexing.ICollectionIndexProvider.CreateNonUniqueIndex``3(System.String,Xtensive.Core.Notifications.ICollectionChangeNotifier{``1},System.Converter{``1,``0})">
<summary>
Creates non-unique index for the <paramref name="owner" />.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the value.</typeparam>
<param name="name">The name of the index.</param>
<param name="owner">The collection to be indexed.</param>
<param name="extractKey">Key extractor.</param>
<returns>
<see cref="T:Xtensive.Indexing.IIndex`2" /> instance.
</returns>
<remarks>This method always creates <see cref="T:Xtensive.Indexing.CollectionIndex`2" /> instance
wrapping the implementation of specified type (<typeparamref name="TImplementation" />).</remarks>
</member>
<member name="T:Xtensive.Indexing.IIndexedCollection`1">
<summary>
Collection having a set of automatically maintained indexes contract.
</summary>
<typeparam name="TItem">The type of collection items.</typeparam>
</member>
<member name="P:Xtensive.Indexing.IIndexedCollection`1.Indexes">
<summary>
Gets the set of collection indexes.
</summary>
<value>The set of indexes.</value>
</member>
<member name="T:Xtensive.Indexing.IHasRange`2">
<summary>
Should be implemented by an object that contains <see cref="!:Range<T>" />.
</summary>
<typeparam name="TObject">The type of object containing the range.</typeparam>
<typeparam name="TPoint">The type of range point.</typeparam>
</member>
<member name="M:Xtensive.Indexing.IHasRange`2.Merge(`0,Xtensive.Core.Comparison.AdvancedComparer{`1})">
<summary>
Merges the object with another one.
</summary>
<param name="other">The object to merge with.</param>
<param name="comparer">Point comparer to use.</param>
<returns>A sequence of up to 3 <typeparamref name="TObject" /> instances
representing the result of merge.</returns>
</member>
<member name="M:Xtensive.Indexing.IHasRange`2.Subtract(Xtensive.Indexing.Range{`1},Xtensive.Core.Comparison.AdvancedComparer{`1})">
<summary>
Subtracts the specified object from this one.
</summary>
<param name="other">The object to subtract.</param>
<param name="comparer">Point comparer to use.</param>
<returns>A sequence of up to 3 <typeparamref name="TObject" /> instances
representing the result of subtraction.</returns>
</member>
<member name="M:Xtensive.Indexing.IHasRange`2.Intersect(Xtensive.Indexing.Range{`1},Xtensive.Core.Comparison.AdvancedComparer{`1})">
<summary>
Intersects the object with another one.
</summary>
<param name="other">The object to intersect with.</param>
<param name="comparer">Point comparer to use.</param>
<returns>The result of subtraction.</returns>
</member>
<member name="P:Xtensive.Indexing.IHasRange`2.Range">
<summary>
Gets range associated with the object.
</summary>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndexReader`3.#ctor(Xtensive.Indexing.NonUniqueIndex{`0,`1,`2},Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.NonUniqueIndexReader`3" /> class.
</summary>
<param name="index">The index.</param>
<param name="range">The range to read.</param>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndexReader`3.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="M:Xtensive.Indexing.SortedListIndexReader`2.#ctor(Xtensive.Indexing.SortedListIndex{`0,`1},Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.SortedListIndexReader`2" /> class.
</summary>
<param name="index">The index.</param>
<param name="range">The range to read.</param>
</member>
<member name="M:Xtensive.Indexing.SortedListIndexReader`2.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="T:Xtensive.Indexing.Log">
<summary>
Log for this namespace.
</summary>
</member>
<member name="T:Xtensive.Indexing.Measures.AdditiveMeasure`2">
<summary>
Base class for any additive measure.
</summary>
<typeparam name="TItem">Type of measured item.</typeparam>
<typeparam name="TResult">Type of measure value.</typeparam>
</member>
<member name="T:Xtensive.Indexing.Measures.MeasureBase`2">
<summary>
Base class for measures.
</summary>
<typeparam name="TItem">Type of measured item.</typeparam>
<typeparam name="TResult">Type of measure value.</typeparam>
</member>
<member name="T:Xtensive.Indexing.Measures.IMeasure`2">
<summary>
Defines measure for some set of items - e.g. count of items.
</summary>
<typeparam name="TItem">The type of item in item collection this measure is defined for.</typeparam>
<typeparam name="TResult">The type of measurement result.</typeparam>
</member>
<member name="T:Xtensive.Indexing.Measures.IMeasure`1">
<summary>
Defines measure for some set of items - e.g. count of items.
</summary>
<typeparam name="TItem">The type of item in item collection this measure is defined for.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasure`1.Reset">
<summary>
Resets result of measurement to its default state.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasure`1.Add(`0)">
<summary>
Adds the specified item to the current measure.
</summary>
<param name="item">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasure`1.Subtract(`0)">
<summary>
Removes the specified item from the current measure.
</summary>
<param name="item">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasure`1.Add(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Adds measure to the current one and returns new measure.
</summary>
<remarks>Does not modify current measure.</remarks>
<param name="measure">The measure to add.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasure`1.Subtract(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Subtracts measure from the current one and returns new measure.
</summary>
<remarks>Does not modify current measure.</remarks>
<param name="measure">The measure to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasure`1.AddWith(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Adds measure to the current one.
</summary>
<param name="measure">The measure to add.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasure`1.SubtractWith(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Subtracts measure from the current one.
</summary>
<param name="measure">The measure to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasure`1.CreateNew">
<summary>
Creates new instance of current measure.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasure`1.CreateNew(System.String)">
<summary>
Creates new instance of current measure with the specified name.
</summary>
<param name="newName">The new measure name.</param>
</member>
<member name="P:Xtensive.Indexing.Measures.IMeasure`1.Result">
<summary>
Gets result of the measurement.
</summary>
</member>
<member name="P:Xtensive.Indexing.Measures.IMeasure`1.Name">
<summary>
Gets name of the current measure.
</summary>
</member>
<member name="P:Xtensive.Indexing.Measures.IMeasure`1.HasResult">
<summary>
Gets a value indicating whether this instance has value.
</summary>
<value>
<see langword="true" /> if this instance has value; otherwise, <see langword="false" />.
</value>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasure`2.CreateNew(`1)">
<summary>
Creates new instance of current measure and initializes it with supplied result.
</summary>
</member>
<member name="P:Xtensive.Indexing.Measures.IMeasure`2.ResultExtractor">
<summary>
Gets the delegate measuring <typeparamref name="TItem" /> - i.e. converting it to <typeparamref name="TResult" />.
</summary>
<value>The measuring delegate.</value>
</member>
<member name="P:Xtensive.Indexing.Measures.IMeasure`2.Result">
<summary>
Gets result of the measurement.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.Add(`0)">
<summary>
Adds the specified item to the current measure.
</summary>
<param name="item">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.Subtract(`0)">
<summary>
Removes the specified item from the current measure.
</summary>
<param name="item">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.Reset">
<summary>
Resets result of measurement to its default state.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.CreateNew">
<summary>
Creates new instance of current measure.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.CreateNew(System.String)">
<summary>
Creates new instance of current measure and initializes it with supplied result.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.CreateNew(`1)">
<summary>
Creates new instance of current measure and initializes it with supplied result.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.Add(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Adds the specified item to the current measure.
</summary>
<param name="item">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.Subtract(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Removes the specified item from the current measure.
</summary>
<param name="item">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.AddWith(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Adds measure to the current one.
</summary>
<param name="measure">The measure to add.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.SubtractWith(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Subtracts measure from the current one.
</summary>
<param name="measure">The measure to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.Add(`1)">
<summary>
Adds the specified result to the current measure.
</summary>
<param name="extracted">Extracted result.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.Subtract(`1)">
<summary>
Subtracts the specified result from the current measure.
</summary>
<param name="extracted">Extracted result.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.#ctor(System.String,System.Converter{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Measures.MeasureBase`2" /> class.
</summary>
<param name="name">
<see cref="P:Xtensive.Indexing.Measures.MeasureBase`2.Name" /> property value.</param>
<param name="resultExtractor">
<see cref="P:Xtensive.Indexing.Measures.MeasureBase`2.ResultExtractor" /> property value.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureBase`2.#ctor(System.String,System.Converter{`0,`1},`1)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Measures.MeasureBase`2" /> class.
</summary>
<param name="name">
<see cref="P:Xtensive.Indexing.Measures.MeasureBase`2.Name" /> property value.</param>
<param name="resultExtractor">
<see cref="P:Xtensive.Indexing.Measures.MeasureBase`2.ResultExtractor" /> property value.</param>
<param name="result">Initial <see cref="P:Xtensive.Indexing.Measures.MeasureBase`2.Result" /> property value.</param>
</member>
<member name="P:Xtensive.Indexing.Measures.MeasureBase`2.Name">
<summary>
Gets name of the current measure.
</summary>
</member>
<member name="P:Xtensive.Indexing.Measures.MeasureBase`2.ResultExtractor">
<summary>
Gets the delegate measuring <typeparamref name="TItem" /> - i.e. converting it to <typeparamref name="TResult" />.
</summary>
<value>The measuring delegate.</value>
</member>
<member name="P:Xtensive.Indexing.Measures.MeasureBase`2.Result">
<summary>
Gets result of the measurement.
</summary>
</member>
<member name="P:Xtensive.Indexing.Measures.MeasureBase`2.Xtensive#Indexing#Measures#IMeasure{TItem}#Result">
<summary>
Gets result of the measurement.
</summary>
</member>
<member name="P:Xtensive.Indexing.Measures.MeasureBase`2.HasResult">
<summary>
Gets a value indicating whether this instance has value.
</summary>
<value>
<see langword="true" /> if this instance has value; otherwise, <see langword="false" />.
</value>
</member>
<member name="F:Xtensive.Indexing.Measures.AdditiveMeasure`2.Arithmetic">
<summary>
The arithmetics.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.AdditiveMeasure`2.Add(`1)">
<summary>
Adds the specified item to the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.AdditiveMeasure`2.Subtract(`1)">
<summary>
Removes the specified item from the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.AdditiveMeasure`2.AddWith(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Adds measure to the current one.
</summary>
<param name="measure">The measure to add.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.AdditiveMeasure`2.SubtractWith(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Subtracts measure from the current one.
</summary>
<param name="measure">The measure to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.AdditiveMeasure`2.Add(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Adds the specified item to the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.AdditiveMeasure`2.Subtract(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Removes the specified item from the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.AdditiveMeasure`2.Reset">
<summary>
Resets result of measurement to its default state.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.AdditiveMeasure`2.#ctor(System.String,System.Converter{`0,`1})">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Measures.AdditiveMeasure`2.#ctor(System.String,System.Converter{`0,`1},`1)">
<inheritdoc />
</member>
<member name="T:Xtensive.Indexing.Measures.ComparableMeasure`2">
<summary>
Base class for any comparable measure.
</summary>
<typeparam name="TItem">Type of measured item.</typeparam>
<typeparam name="TResult">Type of measure value.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Measures.ComparableMeasure`2.Reset">
<summary>
Resets result of measurement to its default state.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.ComparableMeasure`2.#ctor(System.String,System.Converter{`0,`1})">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Measures.ComparableMeasure`2.#ctor(System.String,System.Converter{`0,`1},`1)">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Measures.ComparableMeasure`2.#ctor(System.String,System.Converter{`0,`1},`1,System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Measures.ComparableMeasure`2" /> class.
</summary>
<param name="name">
<see cref="P:Xtensive.Indexing.Measures.MeasureBase`2.Name" /> property value.</param>
<param name="resultExtractor">
<see cref="P:Xtensive.Indexing.Measures.MeasureBase`2.ResultExtractor" /> property value.</param>
<param name="result">Initial <see cref="P:Xtensive.Indexing.Measures.MeasureBase`2.Result" /> property value.</param>
<param name="count">Initial <see cref="P:Xtensive.Indexing.Measures.ComparableMeasure`2.Count" /> property value.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.ComparableMeasure`2.System#Runtime#Serialization#IDeserializationCallback#OnDeserialization(System.Object)">
<see cref="M:Xtensive.Core.Internals.DocTemplates.SerializableDocTemplate.OnDeserialization(System.Object)" />
</member>
<member name="P:Xtensive.Indexing.Measures.ComparableMeasure`2.Count">
<summary>
Gets or sets the count of the same items.
</summary>
</member>
<member name="T:Xtensive.Indexing.Measures.CountMeasure`2">
<summary>
A measure providing count of items.
</summary>
<typeparam name="TItem">Type of measured item.</typeparam>
<typeparam name="TResult">Type of measurement result.</typeparam>
</member>
<member name="F:Xtensive.Indexing.Measures.CountMeasure`2.CommonName">
<summary>
Common (the only possible) name of this measure.
Value is "Count".
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.CountMeasure`2.CreateNew">
<summary>
Creates new instance of current measure.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.CountMeasure`2.CreateNew(`1)">
<summary>
Creates new instance of current measure and initializes it with supplied result.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.CountMeasure`2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Measures.CountMeasure`2" /> class.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.CountMeasure`2.#ctor(`1)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Measures.CountMeasure`2" /> class.
</summary>
<param name="result">Initial <see cref="P:Xtensive.Indexing.Measures.MeasureBase`2.Result" /> property value.</param>
</member>
<member name="T:Xtensive.Indexing.Measures.IMeasureResultSet`1">
<summary>
Represent a set of measurements for a <see cref="T:Xtensive.Indexing.Measures.IMeasureSet`1" />.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasureResultSet`1.Add(`0)">
<summary>
Adds the specified item to all measure results.
</summary>
<param name="item">The item.</param>
<returns>
<see langword="true" /> if all measure results were updated successfully
(<see cref="P:Xtensive.Indexing.Measures.IMeasure`1.HasResult" /> is <see langword="true" />),
otherwise - <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasureResultSet`1.Subtract(`0)">
<summary>
Subtracts the specified item from all measure results.
</summary>
<param name="item">The item.</param>
<returns>
<see langword="true" /> if all measure results where updated successfully
(<see cref="P:Xtensive.Indexing.Measures.IMeasure`1.HasResult" /> is <see langword="true" />),
otherwise - <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasureResultSet`1.Reset">
<summary>
Resets this instance.
</summary>
</member>
<member name="P:Xtensive.Indexing.Measures.IMeasureResultSet`1.Item(System.Int32)">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Measures.IMeasure`1" /> at the specified index.
</summary>
<value>The <see cref="T:Xtensive.Indexing.Measures.IMeasure`1" />.</value>
</member>
<member name="P:Xtensive.Indexing.Measures.IMeasureResultSet`1.Item(System.String)">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Measures.IMeasure`1" /> by specified name.
</summary>
<value>The <see cref="T:Xtensive.Indexing.Measures.IMeasure`1" />.</value>
</member>
<member name="P:Xtensive.Indexing.Measures.IMeasureResultSet`1.IsConsistent">
<summary>
Gets a value indicating whether this instance is consistent - i.e. all
contained <see cref="T:Xtensive.Indexing.Measures.IMeasure`1" /> instances have results.
</summary>
<value>
<see langword="True" /> if this instance is consistent; otherwise, <see langword="false" />.
</value>
</member>
<member name="T:Xtensive.Indexing.Measures.IMeasureSet`1">
<summary>
A set of measures that serves the collection of <typeparamref name="TItem" />s.
</summary>
<typeparam name="TItem">The type of collection item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Measures.IMeasureSet`1.GetItem``1(System.String)">
<summary>
Gets measure by name.
</summary>
<typeparam name="TMeasure">Measure type.</typeparam>
<param name="name">Measure name.</param>
<returns>
<typeparamref name="TMeasure" /> measure.</returns>
</member>
<member name="T:Xtensive.Indexing.Measures.MaxMeasure`2">
<summary>
A measure providing maximum of the items.
</summary>
<typeparam name="TItem">Type of measured item.</typeparam>
<typeparam name="TResult">Type of measure value.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.CreateNew">
<summary>
Creates new instance of current measure.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.CreateNew(`1)">
<summary>
Creates new instance of current measure and initializes it with supplied result.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.Add(`1)">
<summary>
Adds the specified item to the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.Subtract(`1)">
<summary>
Removes the specified item from the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.AddWith(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Adds measure to the current one.
</summary>
<param name="measure">The measure to add.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.SubtractWith(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Subtracts measure from the current one.
</summary>
<param name="measure">The measure to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.Add(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Adds the specified item to the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.Subtract(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Removes the specified item from the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.#ctor(System.String,System.Converter{`0,`1})">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.#ctor(System.String,System.Converter{`0,`1},`1)">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Measures.MaxMeasure`2.#ctor(System.String,System.Converter{`0,`1},`1,System.Int32)">
<inheritdoc />
</member>
<member name="T:Xtensive.Indexing.Measures.MeasureResultSet`1">
<summary>
A set of measurements.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureResultSet`1.Add(`0)">
<summary>
Adds the specified item to all measure results.
</summary>
<param name="item">The item.</param>
<returns>
<see langword="true" /> if all measure results were updated successfully
(<see cref="P:Xtensive.Indexing.Measures.IMeasure`1.HasResult" /> is <see langword="true" />),
otherwise - <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureResultSet`1.Subtract(`0)">
<summary>
Subtracts the specified item from all measure results.
</summary>
<param name="item">The item.</param>
<returns>
<see langword="true" /> if all measure results where updated successfully
(<see cref="P:Xtensive.Indexing.Measures.IMeasure`1.HasResult" /> is <see langword="true" />),
otherwise - <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureResultSet`1.Reset">
<summary>
Resets this instance.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureResultSet`1.GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
</returns>
<filterpriority>1</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureResultSet`1.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
</returns>
<filterpriority>1</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureResultSet`1.#ctor(Xtensive.Indexing.Measures.IMeasureSet{`0})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Measures.MeasureResultSet`1" /> class.
</summary>
<param name="measures">The initial content of the set.</param>
</member>
<member name="P:Xtensive.Indexing.Measures.MeasureResultSet`1.Item(System.Int32)">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Measures.IMeasure`1" /> at the specified index.
</summary>
<value>The <see cref="T:Xtensive.Indexing.Measures.IMeasure`1" />.</value>
</member>
<member name="P:Xtensive.Indexing.Measures.MeasureResultSet`1.Item(System.String)">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Measures.IMeasure`1" /> at the specified index.
</summary>
<value>The <see cref="T:Xtensive.Indexing.Measures.IMeasure`1" />.</value>
</member>
<member name="P:Xtensive.Indexing.Measures.MeasureResultSet`1.IsConsistent">
<summary>
Gets a value indicating whether this instance is consistent - i.e. all
contained <see cref="T:Xtensive.Indexing.Measures.IMeasure`1" /> instances have results.
</summary>
<value>
<see langword="True" /> if this instance is consistent; otherwise, <see langword="false" />.
</value>
</member>
<member name="P:Xtensive.Indexing.Measures.MeasureResultSet`1.Count">
<summary>
Gets the number of elements contained in a collection.
</summary>
</member>
<member name="T:Xtensive.Indexing.Measures.MeasureSet`1">
<summary>
A configurable set of measures for a collection of <typeparamref name="TItem" />s.
</summary>
<typeparam name="TItem">The type of the item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureSet`1.GetItem``1(System.String)">
<summary>
Gets measure by name.
</summary>
<typeparam name="TMeasure">Measure type.</typeparam>
<param name="name">Measure name.</param>
<returns>
<typeparamref name="TMeasure" /> measure.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureSet`1.GetItemName(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Gets the name of the <paramref name="measure" />.
</summary>
<param name="measure">Item to get the name of.</param>
<returns>Name of the item.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureSet`1.CreateClone">
<summary>
Creates a new instance of this class.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<returns>New instance of this class.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureSet`1.Clone(Xtensive.Core.Configuration.ConfigurationBase)">
<summary>
Copies the properties from the <paramref name="source" />
configuration to this one.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<param name="source">The configuration to copy properties from.</param>
</member>
<member name="T:Xtensive.Indexing.Measures.MeasureUtils`1">
<summary>
<see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />-related utilities.
</summary>
<typeparam name="TItem">Type of measurable item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureUtils`1.EnsureMeasurementsAreNotNull(Xtensive.Indexing.Measures.IMeasure{`0},Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Ensures that the specified arguments are not null.
</summary>
<param name="first">The first.</param>
<param name="second">The second.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureUtils`1.EnsureMeasurementsHaveValue(Xtensive.Indexing.Measures.IMeasure{`0},Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Ensures that the both measurements have value.
</summary>
<param name="first">The first.</param>
<param name="second">The second.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureUtils`1.EnsureMeasurementHasValue(Xtensive.Indexing.Measures.IMeasure{`0},System.String)">
<summary>
Ensures that the measurement has value.
</summary>
<param name="measurement">The measurement.</param>
<param name="name">The name of the measurement.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureUtils`1.GetMeasurements(Xtensive.Indexing.Measures.IMeasureResultSet{`0},System.String[])">
<summary>
Gets the measurement results.
</summary>
<param name="measureResults">The measurements.</param>
<param name="names">The names of measures.</param>
<returns>The <see cref="T:System.Array" /> of measurement results.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureUtils`1.BatchAdd(Xtensive.Indexing.Measures.IMeasureResultSet{`0},Xtensive.Indexing.Measures.IMeasureResultSet{`0})">
<summary>
Adds one set of measure results to another one.
</summary>
<param name="current">Current measurements results.</param>
<param name="appliedResults">Second measurements results.</param>
<returns>
<see langword="true" /> if all measureResults were completed successfully
(<see cref="P:Xtensive.Indexing.Measures.IMeasure`1.HasResult" /> is <see langword="true" />),
otherwise - <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureUtils`1.BatchSubtract(Xtensive.Indexing.Measures.IMeasureResultSet{`0},Xtensive.Indexing.Measures.IMeasureResultSet{`0})">
<summary>
Subtracts the one set of measure results from another one.
</summary>
<param name="current">Measure results to subtract from.</param>
<param name="appliedResults">Second measurements set.</param>
<returns>
<see langword="true" /> if all measureResults were completed successfully
(<see cref="P:Xtensive.Indexing.Measures.IMeasure`1.HasResult" /> is <see langword="true" />),
otherwise - <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureUtils`1.BatchRecalculate(Xtensive.Indexing.Measures.IMeasureResultSet{`0},System.Collections.Generic.IEnumerable{`0})">
<summary>
Recalculates the measure results that have no value.
</summary>
<param name="measureResults">The measure results.</param>
<param name="enumerable">The enumerable.</param>
<returns>
<see langword="true" /> if all measure results were completed successfully
(<see cref="P:Xtensive.Indexing.Measures.IMeasure`1.HasResult" /> is <see langword="true" />),
otherwise - <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureUtils`1.BatchCalculate(Xtensive.Indexing.Measures.IMeasureSet{`0},System.Collections.Generic.IEnumerable{`0})">
<summary>
Calculates measurements for provided <paramref name="enumerable" />.
</summary>
<param name="measures">Measures to calculate.</param>
<param name="enumerable">Elements to calculate measure for.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureUtils`1.BatchCalculate(Xtensive.Indexing.Measures.IMeasure{`0},System.Collections.Generic.IEnumerable{`0})">
<summary>
Calculates measurement for provided <paramref name="enumerable" /> and returns new measure.
</summary>
<param name="measure">Measure to calculate.</param>
<param name="enumerable">Elements to calculate measure for.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MeasureUtils`1.GetMeasures(Xtensive.Indexing.Measures.IMeasureSet{`0},System.String[])">
<summary>
Returns an <see cref="T:Xtensive.Indexing.Measures.IMeasureSet`1" /> for provided <paramref name="measures" /> by their <paramref name="names" />.
</summary>
<param name="measures">The source measures.</param>
<param name="names">Names of measures.</param>
</member>
<member name="T:Xtensive.Indexing.Measures.MinMeasure`2">
<summary>
A measure providing minimum of the items.
</summary>
<typeparam name="TItem">Type of measured item.</typeparam>
<typeparam name="TResult">Type of measure value.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.CreateNew">
<summary>
Creates new instance of current measure.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.CreateNew(`1)">
<summary>
Creates new instance of current measure and initializes it with supplied result.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.Add(`1)">
<summary>
Adds the specified item to the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.Subtract(`1)">
<summary>
Removes the specified item from the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.AddWith(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Adds measure to the current one.
</summary>
<param name="measure">The measure to add.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.SubtractWith(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Subtracts measure from the current one.
</summary>
<param name="measure">The measure to subtract.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.Add(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Adds the specified item to the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.Subtract(Xtensive.Indexing.Measures.IMeasure{`0})">
<summary>
Removes the specified item from the current measure.
</summary>
<param name="extracted">The item.</param>
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.#ctor(System.String,System.Converter{`0,`1})">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.#ctor(System.String,System.Converter{`0,`1},`1)">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Measures.MinMeasure`2.#ctor(System.String,System.Converter{`0,`1},`1,System.Int32)">
<inheritdoc />
</member>
<member name="T:Xtensive.Indexing.Measures.SizeMeasure`1">
<summary>
A measure providing size allocated by the items.
</summary>
<typeparam name="TItem">Type of measured item.</typeparam>
</member>
<member name="F:Xtensive.Indexing.Measures.SizeMeasure`1.CommonName">
<summary>
Common (the only possible) name of this measure.
Value is "Size".
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.SizeMeasure`1.CreateNew">
<summary>
Creates new instance of current measure.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.SizeMeasure`1.CreateNew(System.Int64)">
<summary>
Creates new instance of current measure and initializes it with supplied result.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.SizeMeasure`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Measures.SizeMeasure`1" /> class.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.SizeMeasure`1.#ctor(System.Int64)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Measures.SizeMeasure`1" /> class.
</summary>
<param name="result">Initial <see cref="P:Xtensive.Indexing.Measures.MeasureBase`2.Result" /> property value.</param>
</member>
<member name="T:Xtensive.Indexing.Measures.SumMeasure`2">
<summary>
A measure providing sum of the items.
</summary>
<typeparam name="TItem">Type of measured item.</typeparam>
<typeparam name="TResult">Type of measure value.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Measures.SumMeasure`2.CreateNew">
<summary>
Creates new instance of current measure.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.SumMeasure`2.CreateNew(`1)">
<summary>
Creates new instance of current measure and initializes it with supplied result.
</summary>
</member>
<member name="M:Xtensive.Indexing.Measures.SumMeasure`2.#ctor(System.String,System.Converter{`0,`1})">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Measures.SumMeasure`2.#ctor(System.String,System.Converter{`0,`1},`1)">
<inheritdoc />
</member>
<member name="T:Xtensive.Indexing.NonUniqueIndex`3">
<summary>
Implements <see cref="T:Xtensive.Indexing.INonUniqueIndex`2" /> wrapper over <see cref="T:Xtensive.Indexing.IUniqueIndex`2" /> instance.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TUniqueKey">The type of the unique key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetStatistics">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Optimization.IStatistics`1" />.
</summary>
<returns>The statistics.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetEntireKeyComparer">
<summary>
Gets the <see cref="T:Xtensive.Core.Comparison.AdvancedComparer`1" /> which is used by the index to compare keys.
</summary>
<returns>The comparer.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.Contains(`2)">
<summary>
Determines whether the index contains specified item.
</summary>
<returns>
<see langword="true" /> if this instance contains the item; otherwise, <see langword="false" />.
</returns>
<param name="item">The item to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.ContainsKey(`0)">
<summary>
Determines whether the index contains specified key.
</summary>
<returns>
<see langword="true" /> if this instance contains the key; otherwise, <see langword="false" />.
</returns>
<param name="key">The key to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetKeys(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:System.Collections.Generic.IEnumerable`1" /> enumerating all the <typeparamref name="TKey" />s in the given range.
</summary>
<param name="range">A <see cref="T:Xtensive.Indexing.Range`1" /> to enumerate through.</param>
<returns>The <see cref="T:System.Collections.Generic.IEnumerable`1" /> for the range.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetItems(`0)">
<summary>
Gets the items with the specified key.
</summary>
<param name="key">The key.</param>
<returns>
<see cref="T:System.Collections.Generic.IEnumerable`1" /> of <typeparamref name="TItem" /> instances.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetItems(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the items with the specified key.
</summary>
<param name="key">The key.</param>
<returns>
<see cref="T:System.Collections.Generic.IEnumerable`1" /> of <typeparamref name="TItem" /> instances.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetItems(Xtensive.Indexing.RangeSet{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the items with the specified key.
</summary>
<param name="key">The key.</param>
<returns>
<see cref="T:System.Collections.Generic.IEnumerable`1" /> of <typeparamref name="TItem" /> instances.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.Seek(`0)">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="key">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="key">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.CreateReader(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Creates <see cref="T:Xtensive.Indexing.IIndexReader`2" /> object allowing to enumerate
the items in the specified <paramref name="range" />.
</summary>
<param name="range">The range to provide the reader for.</param>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.Add(`2)">
<summary>
Adds the element to the index.
</summary>
<param name="item">The item to add.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.Remove(`2)">
<summary>
Removes the <paramref name="item" /> from the index.
</summary>
<param name="item">Item to remove.</param>
<returns>
<see langword="True" /> if the item is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.RemoveKey(`0)">
<summary>
Removes the item(s) from the index by its (their) <paramref name="key" />.
</summary>
<param name="key">Key of the item(s) to remove.</param>
<returns>
<see langword="True" /> if the item(s) with specified key is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.Replace(`2)">
<summary>
Replaces the <paramref name="item" /> using extracted key.
</summary>
<param name="item">Item to replace.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Item with extracted key could not be found.</exception>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.Clear">
<summary>
Clears this instance.
</summary>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetMeasureResult(System.String)">
<summary>
Gets the measurement for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetMeasureResults(System.String[])">
<summary>
Gets the measurements for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetMeasureResult(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String)">
<summary>
Gets the measurement result for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetMeasureResults(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String[])">
<summary>
Gets the measurement result for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.OnConfigured">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.#ctor">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndex`3.#ctor(Xtensive.Indexing.IndexConfigurationBase{`0,`2})">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.NonUniqueIndex`3.UniqueIndex">
<summary>
Gets the underlying unique index.
</summary>
</member>
<member name="P:Xtensive.Indexing.NonUniqueIndex`3.EntireConverter">
<summary>
Gets the entire converter.
</summary>
<value>The key converter.</value>
</member>
<member name="P:Xtensive.Indexing.NonUniqueIndex`3.Count">
<summary>
Gets the number of elements contained in a collection.
</summary>
</member>
<member name="T:Xtensive.Indexing.NonUniqueIndexConfiguration`3">
<summary>
Index configuration.
Used by <see cref="T:Xtensive.Indexing.NonUniqueIndex`3" />
to unify index initialization and configuration.
</summary>
<typeparam name="TKey">The type of the index key.</typeparam>
<typeparam name="TUniqueKey">The type of unique index key.</typeparam>
<typeparam name="TItem">The type of the index item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndexConfiguration`3.Validate">
<summary>
Validates the configuration.
Should always be invoked by <see cref="M:Xtensive.Core.ILockable.Lock(System.Boolean)" /> method
before actually locking the configuration.
</summary>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndexConfiguration`3.CreateClone">
<summary>
Creates a new instance of this class.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<returns>New instance of this class.</returns>
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndexConfiguration`3.#ctor">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.NonUniqueIndexConfiguration`3.#ctor(Xtensive.Indexing.IndexConfigurationBase{`1,`2})">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.NonUniqueIndexConfiguration`3.EntireConverter">
<summary>
Gets or sets the key converter.
</summary>
<value>The key converter.</value>
</member>
<member name="T:Xtensive.Indexing.Range`1">
<summary>
Range (continuous set of points) over a set of points
of type <typeparamref name="T" />.
</summary>
<typeparam name="T">A type of point.</typeparam>
</member>
<member name="F:Xtensive.Indexing.Range`1.Empty">
<summary>
An empty <see cref="T:Xtensive.Indexing.Range`1" /> for type <typeparamref name="T" />.
</summary>
</member>
<member name="F:Xtensive.Indexing.Range`1.Full">
<summary>
Full <see cref="T:Xtensive.Indexing.Range`1" /> for type <typeparamref name="T" />.
Equals to <see cref="F:Xtensive.Indexing.Range`1.Empty" />, if upper or lower range boundary for this type is absent.
</summary>
</member>
<member name="M:Xtensive.Indexing.Range`1.Contains(`0)">
<summary>
Check if range contains specified point.
</summary>
<param name="point">Point to check for containment.</param>
<returns>
<see langword="True" /> if range contains specified point;
otherwise, <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Range`1.Intersects(Xtensive.Indexing.Range{`0})">
<summary>
Check if range intersects with the specified one.
</summary>
<param name="other">Range to check for intersection.</param>
<returns>
<see langword="True" /> if range intersects with the specified one;
otherwise, <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Range`1.CompareTo(Xtensive.Indexing.Range{`0})">
<summary>
Compares the current object with another object of the same type.
</summary>
<returns>
A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings:
Value
Meaning
Less than zero
This object is less than the <paramref name="other" /> parameter.
Zero
This object is equal to <paramref name="other" />.
Greater than zero
This object is greater than <paramref name="other" />.
</returns>
<param name="other">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Range`1.op_Equality(Xtensive.Indexing.Range{`0},Xtensive.Indexing.Range{`0})">
<summary>
Compares two <see cref="T:Xtensive.Indexing.Range`1" /> instances.
</summary>
<param name="x">First <see cref="T:Xtensive.Indexing.Range`1" />.</param>
<param name="y">Second <see cref="T:Xtensive.Indexing.Range`1" />.</param>
<returns>
<see langword="true" /> if they are equal; otherwise, <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Range`1.op_Inequality(Xtensive.Indexing.Range{`0},Xtensive.Indexing.Range{`0})">
<summary>
Compares two <see cref="T:Xtensive.Indexing.Range`1" /> instances.
</summary>
<param name="x">First <see cref="T:Xtensive.Indexing.Range`1" />.</param>
<param name="y">Second <see cref="T:Xtensive.Indexing.Range`1" />.</param>
<returns>
<see langword="false" /> if they are equal; otherwise, <see langword="true" />.</returns>
</member>
<member name="M:Xtensive.Indexing.Range`1.Equals(Xtensive.Indexing.Range{`0})">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
</returns>
<param name="other">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Range`1.Equals(System.Object)">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
</returns>
<param name="other">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Range`1.GetHashCode">
<summary>
Returns the hash code for this instance.
</summary>
<returns>
A 32-bit signed integer that is the hash code for this instance.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Range`1.ToString">
<summary>
Returns the fully qualified type name of this instance.
</summary>
<returns>
A <see cref="T:System.String" /> containing a fully qualified type name.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Range`1.#ctor(Xtensive.Core.Pair{`0})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Range`1" /> class.
</summary>
<param name="endpoints">Endpoints of the range.</param>
</member>
<member name="M:Xtensive.Indexing.Range`1.#ctor(`0,`0)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Range`1" /> class.
</summary>
<param name="xPoint">First endpoint of the range.</param>
<param name="yPoint">Second endpoint of the range.</param>
</member>
<member name="M:Xtensive.Indexing.Range`1.#cctor">
<summary>
Initializes the <see cref="T:Xtensive.Indexing.Range`1" /> type.
</summary>
</member>
<member name="P:Xtensive.Indexing.Range`1.IsEmpty">
<summary>
Indicates whether range is an empty range (contains no any point).
</summary>
</member>
<member name="P:Xtensive.Indexing.Range`1.EndPoints">
<summary>
Gets the endpoints of this instance.
</summary>
<value>The endpoints.</value>
</member>
<member name="T:Xtensive.Indexing.RangeExtensions">
<summary>
<see cref="T:Xtensive.Indexing.Range`1" /> extension methods.
</summary>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.GetDirection``1(Xtensive.Indexing.Range{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Gets the <see cref="T:Xtensive.Core.Direction" /> of the range
relatively to specified <paramref name="comparer" />.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">Range to get the direction of.</param>
<param name="comparer">The comparer to use.</param>
<returns>The <see cref="T:Xtensive.Core.Direction" /> of the range
relatively to specified <paramref name="comparer" />.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.GetLowerEndpoint``1(Xtensive.Indexing.Range{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Gets lower endpoint of the range
relatively to specified <paramref name="comparer" />.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">Range to get the lower endpoint of.</param>
<param name="comparer">The comparer to use.</param>
<returns>The the lower endpoint of the range
relatively to specified <paramref name="comparer" />.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.GetLowerEndpoint``1(Xtensive.Indexing.Range{``0},Xtensive.Core.Direction)">
<summary>
Gets lower endpoint of the range
relatively to specified <paramref name="direction" />.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">Range to get the lower endpoint of.</param>\
<param name="direction">Assumed range direction.</param><returns>The the lower endpoint of the range
relatively to specified <paramref name="direction" />.</returns></member>
<member name="M:Xtensive.Indexing.RangeExtensions.GetHigherEndpoint``1(Xtensive.Indexing.Range{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Gets higher endpoint of the range
relatively to specified <paramref name="comparer" />.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">Range to get the higher endpoint of.</param>
<param name="comparer">The comparer to use.</param>
<returns>The the higher endpoint of the range
relatively to specified <paramref name="comparer" />.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.GetHigherEndpoint``1(Xtensive.Indexing.Range{``0},Xtensive.Core.Direction)">
<summary>
Gets higher endpoint of the range
relatively to specified <paramref name="direction" />.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">Range to get the higher endpoint of.</param>
<param name="direction">Assumed range direction.</param>
<returns>The the higher endpoint of the range
relatively to specified <paramref name="direction" />.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.Redirect``1(Xtensive.Indexing.Range{``0},Xtensive.Core.Direction,Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Converts the specified <paramref name="range" /> to positively directed
relatively to specified <paramref name="comparer" />.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">The range to convert.</param>
<param name="newDirection">The new direction of the range.</param>
<param name="comparer">The comparer to use.</param>
<returns>Positively directed range (relatively to specified <paramref name="comparer" />),
which <see cref="P:Xtensive.Indexing.Range`1.EndPoints" /> are the same as of specified <paramref name="range" />.
</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.Invert``1(Xtensive.Indexing.Range{``0})">
<summary>
Inverts the specified range - i.e. exchanges its endpoints.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">The range to invert.</param>
<returns>Inverted range.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.Contains``1(Xtensive.Indexing.Range{``0},``0,Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Check if range contains specified point.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">The range to check.</param>
<param name="point">The point to check for containment.</param>
<param name="comparer">The comparer to use.</param>
<returns>
<see langword="True" /> if range contains specified point;
otherwise, <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.Contains``1(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{``0}},``0,System.Func{Xtensive.Indexing.Entire{``0},``0,System.Int32})">
<summary>
Check if range contains specified point.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">The range to check.</param>
<param name="point">The point to check for containment.</param>
<param name="asymmetricCompare">The comparer to use.</param>
<returns>
<see langword="True" /> if range contains specified point;
otherwise, <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.Intersects``1(Xtensive.Indexing.Range{``0},Xtensive.Indexing.Range{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Check if range intersects with the specified one.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="first">The first range to check.</param>
<param name="second">The second range to check.</param>
<param name="comparer">Comparer to use.</param>
<returns>
<see langword="True" /> if ranges intersect with each other;
otherwise, <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.CompareTo``1(Xtensive.Indexing.Range{``0},Xtensive.Indexing.Range{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Compares the current object with another object of the same type.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="first">The first range to compare.</param>
<param name="second">The range to compare with the <paramref name="first" /> one.</param>
<param name="comparer">The comparer.</param>
<returns>Standard comparison result.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.EqualTo``1(Xtensive.Indexing.Range{``0},Xtensive.Indexing.Range{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="first">The first range to compare.</param>
<param name="second">The range to compare with the <paramref name="first" /> one.</param>
<param name="comparer">The comparer.</param>
<returns>
<see langword="True" /> if the current object is equal to the <paramref name="second" /> parameter;
otherwise, <see langword="false" />.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.Merge``1(Xtensive.Indexing.Range{``0},Xtensive.Indexing.Range{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Merges two specified ranges.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">The first range.</param>
<param name="other">The second range.</param>
<param name="comparer">The comparer to use.</param>
<returns>Merge operation result - up to 2 ranges.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.Subtract``1(Xtensive.Indexing.Range{``0},Xtensive.Indexing.Range{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Subtracts the <paramref name="subtracted" /> range from the specified <paramref name="range" />.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">The range to subtract from.</param>
<param name="subtracted">The range to subtract.</param>
<param name="comparer">The comparer to use.</param>
<returns>Subtraction result - up to 2 ranges.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.Intersect``1(Xtensive.Indexing.Range{``0},Xtensive.Indexing.Range{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Intersects the specified <paramref name="range" /> with the <paramref name="other" /> one.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Range`1" /> endpoints.</typeparam>
<param name="range">The range.</param>
<param name="other">The other.</param>
<param name="comparer">The comparer.</param>
<returns>
</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.IsSimilar``1(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{``0}},Xtensive.Indexing.Range{Xtensive.Indexing.Entire{``0}})">
<summary>
Determines whether the specified ranges are similar.
I.e., range' endpoints should have same structure (infinities and shifts on the same places).
</summary>
<param name="range">The range.</param>
<param name="other">The other range.</param>
<returns>
<see langword="true" /> if the specified range is similar; otherwise, <see langword="false" />.
</returns>
</member>
<member name="M:Xtensive.Indexing.RangeExtensions.IsEqualityRange``1(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{``0}},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Determines whether specified <paramref name="range" /> has equals endpoints
and does not contains infinities or shifts for <see cref="T:Xtensive.Indexing.Entire`1" />.
</summary>
<typeparam name="T">Endpoint type.</typeparam>
<param name="range">The range.</param>
<param name="comparer">Endpoint comparer.</param>
<returns>
<see langword="true" /> if specified range has equals endpoints; otherwise, <see langword="false" />.
</returns>
</member>
<member name="T:Xtensive.Indexing.Ray`1">
<summary>
Ray on an ordered set of items of type <typeparamref name="T" />.
</summary>
<typeparam name="T">The type of item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Ray`1.Contains(`0)">
<summary>
Checks if this instance contains specified point.
</summary>
<param name="point">Point to check for containment.</param>
<returns>
<see langword="True" /> if this instance contains the specified point; otherwise, <see langword="false" />.
</returns>
</member>
<member name="M:Xtensive.Indexing.Ray`1.Intersects(Xtensive.Indexing.Ray{`0})">
<summary>
Checks if ray intersects with another ray (i.e. they have common part).
</summary>
<param name="other">Ray to check for intersection.</param>
<returns>
<see langword="True" /> if ray intersects with the specified ray; otherwise, <see langword="false" />.
</returns>
</member>
<member name="M:Xtensive.Indexing.Ray`1.CompareTo(Xtensive.Indexing.Ray{`0})">
<summary>
Compares this ray with <paramref name="other" /> ray.
</summary>
<param name="other">A <see cref="T:Xtensive.Indexing.Ray`1" /> to compare with.</param>
<returns>
Less than zero if <see cref="T:Xtensive.Indexing.Ray`1" /> less than<paramref name="other" />;
zero if <see cref="T:Xtensive.Indexing.Ray`1" /> equals to <paramref name="other" />;
+1 otherwise.
</returns>
</member>
<member name="M:Xtensive.Indexing.Ray`1.Equals(System.Object)">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="obj" /> parameter; otherwise, false.
</returns>
<param name="obj">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.Ray`1.Equals(Xtensive.Indexing.Ray{`0})">
<summary>
Compares the <see cref="T:Xtensive.Indexing.Ray`1" /> with <paramref name="other" /> item.
</summary>
<param name="other">A <see cref="T:Xtensive.Indexing.Ray`1" /> to compare with.</param>
<returns>True if the <see cref="T:Xtensive.Indexing.Ray`1" /> equals to <paramref name="other" />;
false otherwise.</returns>
</member>
<member name="M:Xtensive.Indexing.Ray`1.op_Equality(Xtensive.Indexing.Ray{`0},Xtensive.Indexing.Ray{`0})">
<summary>
Implements the equality operator.
</summary>
<param name="left">The left.</param>
<param name="right">The right.</param>
<returns>The result of the operator.</returns>
</member>
<member name="M:Xtensive.Indexing.Ray`1.op_Inequality(Xtensive.Indexing.Ray{`0},Xtensive.Indexing.Ray{`0})">
<summary>
Implements the inequality operator.
</summary>
<param name="left">The left.</param>
<param name="right">The right.</param>
<returns>The result of the operator.</returns>
</member>
<member name="M:Xtensive.Indexing.Ray`1.GetHashCode">
<summary>
Returns the hash code for this instance.
</summary>
<returns>
A 32-bit signed integer that is the hash code for this instance.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Ray`1.ToString">
<summary>
Returns the fully qualified type name of this instance.
</summary>
<returns>
A <see cref="T:System.String" /> containing a fully qualified type name.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Ray`1.#ctor(`0)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Ray`1" /> class.
</summary>
<param name="point">The point of the ray.</param>
</member>
<member name="M:Xtensive.Indexing.Ray`1.#ctor(`0,Xtensive.Core.Direction)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Ray`1" /> class.
</summary>
<param name="point">The point of the ray.</param>
<param name="direction">The direction of the ray.</param>
</member>
<member name="P:Xtensive.Indexing.Ray`1.Point">
<summary>
Gets the point of this instance.
</summary>
</member>
<member name="P:Xtensive.Indexing.Ray`1.Direction">
<summary>
Gets the direction of this instance.
</summary>
<value>The direction.</value>
</member>
<member name="T:Xtensive.Indexing.RayExtensions">
<summary>
<see cref="T:Xtensive.Indexing.Ray`1" /> extension methods.
</summary>
</member>
<member name="M:Xtensive.Indexing.RayExtensions.Contains``1(Xtensive.Indexing.Ray{``0},``0,Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Checks if this instance contains specified point.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Ray`1" /> point.</typeparam>
<param name="ray">Ray to check.</param>
<param name="point">Point to check for containment.</param>
<param name="comparer">The comparer to use.</param>
<returns>
<see langword="True" /> if this instance contains the specified point; otherwise, <see langword="false" />.
</returns>
</member>
<member name="M:Xtensive.Indexing.RayExtensions.Intersects``1(Xtensive.Indexing.Ray{``0},Xtensive.Indexing.Ray{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Checks if ray intersects with another ray (i.e. they have common part).
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Ray`1" /> point.</typeparam>
<param name="first">First ray to check.</param>
<param name="second">Second ray to check.</param>
<param name="comparer">The comparer to use.</param>
<returns>
<see langword="True" /> if ray intersects with the specified ray; otherwise, <see langword="false" />.
</returns>
</member>
<member name="M:Xtensive.Indexing.RayExtensions.CompareTo``1(Xtensive.Indexing.Ray{``0},Xtensive.Indexing.Ray{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Compares this ray with <paramref name="second" /> ray.
</summary>
<typeparam name="T">The type of <see cref="T:Xtensive.Indexing.Ray`1" /> point.</typeparam>
<param name="first">The first ray to compare.</param>
<param name="second">The ray to compare with the <paramref name="first" /> one.</param>
<param name="comparer">The comparer to use.</param>
<returns>
Less than zero if <see cref="T:Xtensive.Indexing.Ray`1" /> less than<paramref name="second" />;
zero if <see cref="T:Xtensive.Indexing.Ray`1" /> equals to <paramref name="second" />;
+1 otherwise.
</returns>
</member>
<member name="M:Xtensive.Indexing.RayExtensions.EqualTo``1(Xtensive.Indexing.Ray{``0},Xtensive.Indexing.Ray{``0},Xtensive.Core.Comparison.AdvancedComparer{``0})">
<summary>
Compares the <see cref="T:Xtensive.Indexing.Ray`1" /> with <paramref name="second" /> item.
</summary>
<param name="first">The first ray to compare.</param>
<param name="second">The ray to compare with the <paramref name="first" /> one.</param>
<param name="comparer">The comparer.</param>
<returns>
True if the <see cref="T:Xtensive.Indexing.Ray`1" /> equals to <paramref name="second" />;
false otherwise.
</returns>
</member>
<member name="T:Xtensive.Indexing.Resources.Strings">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.EntireFormat">
<summary>
Looks up a localized string similar to E:{0}.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExBothMeasurementsHaveNoValue">
<summary>
Looks up a localized string similar to Both measurements have no value..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExCantDeserializeBloomFilter">
<summary>
Looks up a localized string similar to Can't deserialize Bloom filter..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExCantDeserializeIndexPage">
<summary>
Looks up a localized string similar to Can't deserialize index page with the following identifier: {0}. Exception: {1}.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExCantPassNoInfinityToThisConstructor">
<summary>
Looks up a localized string similar to InfinityType.None can't be passed to this constructor..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExEndPointOrderMustBeEqual">
<summary>
Looks up a localized string similar to EndPoints order of both ranges must be equal..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExEnumerationIsAlreadyFinished">
<summary>
Looks up a localized string similar to Enumeration is already finished..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExEnumerationIsNotStarted">
<summary>
Looks up a localized string similar to Enumeration is not started..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExFieldIsInfinite">
<summary>
Looks up a localized string similar to Field with index '{0}' is infinitу..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExHasherNotFound">
<summary>
Looks up a localized string similar to Hasher for type {0} not found..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExIncorrectKeyOrder">
<summary>
Looks up a localized string similar to Incorrect key order. Keys should be enumerated in the direction specified by comparer..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExIndexDoesntSupportMeasures">
<summary>
Looks up a localized string similar to Index "{0}" doesn't support measures..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExIndexesCannotBeMerged">
<summary>
Looks up a localized string similar to Indexes cannot be merged..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExIndexIsAlreadyInitialized">
<summary>
Looks up a localized string similar to Index is already initialized..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExIndexPageProviderDoesntSupportSerialize">
<summary>
Looks up a localized string similar to IndexPageProvider doesn't support serialization (Serialize method)..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExIndexPageProviderDoesntSupportWrite">
<summary>
Looks up a localized string similar to IndexPageProvider doesn't support data modification operations (Add \ Remove \ Clear methods)..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExIndexPageProviderIsUnboundToTheIndex">
<summary>
Looks up a localized string similar to IndexPageProvider is unbound to the Index..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExInvalidPageSize">
<summary>
Looks up a localized string similar to Invalid IndexConfiguration.PageSize property value. Should be greater than 0, less then 65536 and must be an even value..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExItemWithTheSameKeyHasBeenAdded">
<summary>
Looks up a localized string similar to An item with the same key has already been added..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExMeasureIsNotDefined">
<summary>
Looks up a localized string similar to Measure "{0}" is not defined..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExMeasurementIsAlreadyCompleted">
<summary>
Looks up a localized string similar to Measurement is already completed..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExMeasurementMustHaveValue">
<summary>
Looks up a localized string similar to Measurement '{0}' must have value..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExMergeOperationRequireIntersectionOfOperands">
<summary>
Looks up a localized string similar to Merge operation require intersection of operands..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExNodeRefIsOutOfRange">
<summary>
Looks up a localized string similar to Node reference is out of range..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExRangeIsEmpty">
<summary>
Looks up a localized string similar to Range is empty..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExSpecifiedKeyCouldNotBeFound">
<summary>
Looks up a localized string similar to Specified key could not be found..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExStreamIsNotEmpty">
<summary>
Looks up a localized string similar to Stream is not empty..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExUnableToGetCountForBloomFilter">
<summary>
Looks up a localized string similar to Argument must be ICountable, ICollection or ICollection<TITem> in order to get Count..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExUniqueConstraintViolation">
<summary>
Looks up a localized string similar to Unique constraint violation.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExUseAnotherCreateMethod">
<summary>
Looks up a localized string similar to Use another Create method to create StreamPageRef of such type..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ExValueIsNotAvailable">
<summary>
Looks up a localized string similar to Value is not available..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.InfinitesimalFormat">
<summary>
Looks up a localized string similar to {0}{1}d.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.Infinity">
<summary>
Looks up a localized string similar to inf.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.MeasuresAndMeasurementsHaveDifferentAmountOfItems">
<summary>
Looks up a localized string similar to Measures and measurements have different amount of items..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.MeasureWithTheNameWasNotFound">
<summary>
Looks up a localized string similar to Measure with the name '{0}' was not found..
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.NotAvailable">
<summary>
Looks up a localized string similar to n\a.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.Null">
<summary>
Looks up a localized string similar to null.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.RangeFormat">
<summary>
Looks up a localized string similar to ({0} ... {1}).
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.RangeSetFormat">
<summary>
Looks up a localized string similar to RangeSet<{0}>({1}).
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.RayFormat">
<summary>
Looks up a localized string similar to ({0} -> {1}).
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.ReversedFormat">
<summary>
Looks up a localized string similar to Reversed({0}).
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.SeekResultFormat">
<summary>
Looks up a localized string similar to {0} ({1}.
</summary>
</member>
<member name="P:Xtensive.Indexing.Resources.Strings.SeekResultPointerFormat">
<summary>
Looks up a localized string similar to {0} ({1}).
</summary>
</member>
<member name="T:Xtensive.Indexing.Reversed`1">
<summary>
Reversed type reverses the result provided by comparer
for the original type, i.e. its values are sorted in
descending order.
</summary>
<typeparam name="T">The type to reverse.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Reversed`1.ToString">
<summary>
Gets string representation of the object.
</summary>
<returns>String representation of the object.</returns>
</member>
<member name="M:Xtensive.Indexing.Reversed`1.CompareTo(Xtensive.Indexing.Reversed{`0})">
<summary>
Compares this instance with another one.
</summary>
<param name="other">Instance to compare with.</param>
<returns>Standard comparison result.</returns>
</member>
<member name="M:Xtensive.Indexing.Reversed`1.#ctor(`0)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Reversed`1" /> class.
</summary>
<param name="value">The <see cref="P:Xtensive.Indexing.Reversed`1.Value" /> value to initialize with.</param>
</member>
<member name="P:Xtensive.Indexing.Reversed`1.Value">
<summary>
Gets the value of reversed type.
</summary>
</member>
<member name="T:Xtensive.Indexing.SeekResult`1">
<summary>
Result of <see cref="M:Xtensive.Indexing.IOrderedEnumerable`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})" /> operation.
</summary>
<typeparam name="TItem">Type of the item.</typeparam>
</member>
<member name="F:Xtensive.Indexing.SeekResult`1.ResultType">
<summary>
Seek operation status.
</summary>
</member>
<member name="F:Xtensive.Indexing.SeekResult`1.Result">
<summary>
Seek operation result.
If <see cref="F:Xtensive.Indexing.SeekResult`1.ResultType" /> is <see cref="F:Xtensive.Indexing.SeekResultType.None" />,
<see cref="F:Xtensive.Indexing.SeekResult`1.Result" /> has no meaning.
</summary>
</member>
<member name="M:Xtensive.Indexing.SeekResult`1.Equals(Xtensive.Indexing.SeekResult{`0})">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="obj" /> parameter; otherwise, false.
</returns>
<param name="obj">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.SeekResult`1.Equals(System.Object)">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="obj" /> parameter; otherwise, false.
</returns>
<param name="obj">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.SeekResult`1.GetHashCode">
<summary>
Returns the hash code for this instance.
</summary>
<returns>
A 32-bit signed integer that is the hash code for this instance.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.SeekResult`1.ToString">
<summary>
Returns the fully qualified type name of this instance.
</summary>
<returns>
A <see cref="T:System.String" /> containing a fully qualified type name.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.SeekResult`1.#ctor(Xtensive.Indexing.SeekResultType,`0)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.SeekResult`1" /> class.
</summary>
<param name="resultType">Seek operation status.</param>
<param name="result">Seek operation result.</param>
</member>
<member name="T:Xtensive.Indexing.SeekResultPointer`1">
<summary>
Describes the result of internal seek (or seek-like) operations.
</summary>
<typeparam name="TPointer">The type of the pointer.</typeparam>
</member>
<member name="F:Xtensive.Indexing.SeekResultPointer`1.ResultType">
<summary>
Type of the result.
</summary>
</member>
<member name="F:Xtensive.Indexing.SeekResultPointer`1.Pointer">
<summary>
The pointer to the result.
</summary>
</member>
<member name="M:Xtensive.Indexing.SeekResultPointer`1.Equals(Xtensive.Indexing.SeekResultPointer{`0})">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="obj" /> parameter; otherwise, false.
</returns>
<param name="obj">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.SeekResultPointer`1.Equals(System.Object)">
<summary>
Indicates whether the current object is equal to another object of the same type.
</summary>
<returns>true if the current object is equal to the <paramref name="obj" /> parameter; otherwise, false.
</returns>
<param name="obj">
An object to compare with this object.
</param>
</member>
<member name="M:Xtensive.Indexing.SeekResultPointer`1.GetHashCode">
<summary>
Returns the hash code for this instance.
</summary>
<returns>
A 32-bit signed integer that is the hash code for this instance.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.SeekResultPointer`1.ToString">
<summary>
Returns the fully qualified type name of this instance.
</summary>
<returns>
A <see cref="T:System.String" /> containing a fully qualified type name.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.SeekResultPointer`1.#ctor(Xtensive.Indexing.SeekResultType,`0)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.SeekResultPointer`1" /> class.
</summary>
<param name="resultType">Type of the result.</param>
<param name="pointer">The pointer to the result.</param>
</member>
<member name="T:Xtensive.Indexing.SeekResultType">
<summary>
Describes the part of result of such operation as
<see cref="M:Xtensive.Indexing.IOrderedEnumerable`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})" />.
</summary>
</member>
<member name="F:Xtensive.Indexing.SeekResultType.Default">
<summary>
The same as <see cref="F:Xtensive.Indexing.SeekResultType.None" />.
</summary>
</member>
<member name="F:Xtensive.Indexing.SeekResultType.None">
<summary>
No item is found.
</summary>
</member>
<member name="F:Xtensive.Indexing.SeekResultType.Exact">
<summary>
Exact match is found (i.e. equality condition is satisfied).
</summary>
</member>
<member name="F:Xtensive.Indexing.SeekResultType.Nearest">
<summary>
Next nearest match is found.
Nearest - in the specified <see cref="P:Xtensive.Indexing.Ray`1.Direction" /> of the ray.
</summary>
</member>
<member name="T:Xtensive.Indexing.SortedListIndex`2">
<summary>
Simple unique ordered in-memory index based on ordered <see cref="T:System.Collections.Generic.List`1" />.
</summary>
<typeparam name="TKey">Type of index key.</typeparam>
<typeparam name="TItem">Type of index value.</typeparam>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.GetItem(`0)">
<summary>
Gets the item by its key.
</summary>
<value>The element with the specified key.</value>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
<exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key" /> is not found.</exception>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.Contains(`1)">
<summary>
Determines whether the index contains specified item.
</summary>
<returns>
<see langword="true" /> if this instance contains the item; otherwise, <see langword="false" />.
</returns>
<param name="item">The item to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.ContainsKey(`0)">
<summary>
Determines whether the index contains specified key.
</summary>
<returns>
<see langword="true" /> if this instance contains the key; otherwise, <see langword="false" />.
</returns>
<param name="key">The key to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.Seek(`0)">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="key">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="key">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.CreateReader(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Creates <see cref="T:Xtensive.Indexing.IIndexReader`2" /> object allowing to enumerate
the items in the specified <paramref name="range" />.
</summary>
<param name="range">The range to provide the reader for.</param>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.Add(`1)">
<exception cref="T:System.InvalidOperationException">
<paramref name="item" /> is already added.</exception>
<summary>
Adds the element to the index.
</summary>
<param name="item">The item to add.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.Remove(`1)">
<summary>
Removes the <paramref name="item" /> from the index.
</summary>
<param name="item">Item to remove.</param>
<returns>
<see langword="True" /> if the item is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.Replace(`1)">
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="item" /> could not be replaced.</exception>
<summary>
Replaces the <paramref name="item" /> using extracted key.
</summary>
<param name="item">Item to replace.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.RemoveKey(`0)">
<summary>
Removes the item(s) from the index by its (their) <paramref name="key" />.
</summary>
<param name="key">Key of the item(s) to remove.</param>
<returns>
<see langword="True" /> if the item(s) with specified key is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.Clear">
<summary>
Clears this instance.
</summary>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.GetMeasureResult(System.String)">
<summary>
Gets the measurement for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.GetMeasureResults(System.String[])">
<summary>
Gets the measurements for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.GetMeasureResult(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String)">
<summary>
Gets the measurement result for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.GetMeasureResults(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String[])">
<summary>
Gets the measurement result for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.OnConfigured">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.#ctor">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.SortedListIndex`2.#ctor(Xtensive.Indexing.IndexConfigurationBase{`0,`1})">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.SortedListIndex`2.MeasureResults">
<summary>
Gets the measurements.
</summary>
<value>The measurements.</value>
</member>
<member name="P:Xtensive.Indexing.SortedListIndex`2.Count">
<summary>
Gets the number of elements contained in a collection.
</summary>
</member>
<member name="P:Xtensive.Indexing.SortedListIndex`2.Item(System.Int32)">
<summary>
Gets the item from the underlying sorted list by its <paramref name="index" />.
</summary>
<param name="index">The index of the item to get.</param>
<returns>The item at the specified <paramref name="index" />.</returns>
</member>
<member name="T:Xtensive.Indexing.Differential.DifferentialIndex`3">
<summary>
Differential index.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
<typeparam name="TImpl">The type of the implementation.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.GetItem(`0)">
<summary>
Gets the item by its key.
</summary>
<value>The element with the specified key.</value>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
<exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key" /> is not found.</exception>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.Contains(`1)">
<summary>
Determines whether the index contains specified item.
</summary>
<returns>
<see langword="true" /> if this instance contains the item; otherwise, <see langword="false" />.
</returns>
<param name="item">The item to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.ContainsKey(`0)">
<summary>
Determines whether the index contains specified key.
</summary>
<returns>
<see langword="true" /> if this instance contains the key; otherwise, <see langword="false" />.
</returns>
<param name="key">The key to check for the containment.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.Add(`1)">
<summary>
Adds the element to the index.
</summary>
<param name="item">The item to add.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.Remove(`1)">
<summary>
Removes the <paramref name="item" /> from the index.
</summary>
<param name="item">Item to remove.</param>
<returns>
<see langword="True" /> if the item is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.RemoveKey(`0)">
<summary>
Removes the item(s) from the index by its (their) <paramref name="key" />.
</summary>
<param name="key">Key of the item(s) to remove.</param>
<returns>
<see langword="True" /> if the item(s) with specified key is found and removed;
otherwise, <see langword="false" />.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="key" /> is null reference.</exception>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.Replace(`1)">
<summary>
Replaces the <paramref name="item" /> using extracted key.
</summary>
<param name="item">Item to replace.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="item" /> is null reference.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Item with extracted key could not be found.</exception>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.Clear">
<summary>
Clears this instance.
</summary>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.GetMeasureResult(System.String)">
<summary>
Gets the measurement for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.GetMeasureResults(System.String[])">
<summary>
Gets the measurements for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.GetMeasureResult(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String)">
<summary>
Gets the measurement result for <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="name" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="name">The name of the measure.</param>
<returns>The measurement result.</returns>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.GetMeasureResults(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}},System.String[])">
<summary>
Gets the measurement result for a set of <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" /> with the specified <paramref name="names" />.
</summary>
<param name="range">The range of <typeparamref name="TKey" />s.</param>
<param name="names">The names of measures to get.</param>
<returns>The <see cref="T:System.Array" /> of measurement results for specified <see cref="T:Xtensive.Indexing.Measures.IMeasure`2" />s.</returns>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.Seek(Xtensive.Indexing.Ray{Xtensive.Indexing.Entire{`0}})">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="ray">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.Seek(`0)">
<summary>
Seeks for the specified item in the ordered enumerable.
</summary>
<param name="ray">Item to locate.</param>
<returns>Result of seek operation.</returns>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.CreateReader(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Creates <see cref="T:Xtensive.Indexing.IIndexReader`2" /> object allowing to enumerate
the items in the specified <paramref name="range" />.
</summary>
<param name="range">The range to provide the reader for.</param>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.Merge">
<summary>
Merges slices of the specified index.
</summary>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.OnConfigured">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.#ctor">
<inheritdoc />
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndex`3.#ctor(Xtensive.Indexing.IndexConfigurationBase{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Differential.DifferentialIndex`3" /> class.
</summary>
<param name="configuration">The configuration.</param>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndex`3.Origin">
<summary>
Gets the origin.
</summary>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndex`3.Insertions">
<summary>
Gets the insertions.
</summary>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndex`3.Removals">
<summary>
Gets the removals.
</summary>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndex`3.MeasureResults">
<inheritdoc />
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndex`3.EntireConverter">
<summary>
Gets the entire converter.
</summary>
</member>
<member name="T:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2">
<summary>
Differential index configuration.
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TItem">The type of the item.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2.CreateClone">
<summary>
Creates a new instance of this class.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<returns>New instance of this class.</returns>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2.Clone(Xtensive.Core.Configuration.ConfigurationBase)">
<summary>
Copies the properties from the <paramref name="source" />
configuration to this one.
Used by <see cref="M:Xtensive.Core.Configuration.ConfigurationBase.Clone" /> method implementation.
</summary>
<param name="source">The configuration to copy properties from.</param>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2.#ctor(Xtensive.Indexing.IUniqueOrderedIndex{`0,`1},Xtensive.Indexing.IUniqueOrderedIndex{`0,`1},Xtensive.Indexing.IUniqueOrderedIndex{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2" /> class.
</summary>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2.#ctor(Xtensive.Indexing.IUniqueOrderedIndex{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2" /> class.
</summary>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2" /> class.
</summary>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2.Origin">
<summary>
Gets or sets the origin configuration.
</summary>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2.Insertions">
<summary>
Gets or sets the origin configuration.
</summary>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndexConfiguration`2.Removals">
<summary>
Gets or sets the origin configuration.
</summary>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexReader`3.GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
</returns>
<filterpriority>1</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexReader`3.MoveNext">
<summary>
Advances the enumerator to the next element of the collection.
</summary>
<returns>true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
</returns>
<exception cref="T:System.InvalidOperationException">
The collection was modified after the enumerator was created.
</exception>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexReader`3.Reset">
<summary>
Sets the enumerator to its initial position, which is before the first element in the collection.
</summary>
<exception cref="T:System.InvalidOperationException">
The collection was modified after the enumerator was created.
</exception>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexReader`3.MoveTo(Xtensive.Indexing.Entire{`0})">
<summary>
Moves the internal pointer to the specified key.
You still should call <see cref="M:System.Collections.IEnumerator.MoveNext" />
after calling this method to make
<see cref="P:System.Collections.Generic.IEnumerator`1.Current" /> property value available.
</summary>
<param name="key">The key to move to.</param>
<remarks>
<note type="caution">
The specified <paramref name="key" /> must be
inside the <see cref="P:Xtensive.Indexing.IIndexReader`2.Range" /> of this reader.
</note>
</remarks>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexReader`3.#ctor(Xtensive.Indexing.Differential.DifferentialIndex{`0,`1,`2},Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Differential.DifferentialIndexReader`3" /> class.
</summary>
<param name="index">The index.</param>
<param name="range">The range.</param>
</member>
<member name="M:Xtensive.Indexing.Differential.DifferentialIndexReader`3.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndexReader`3.Index">
<summary>
Gets the index.
</summary>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndexReader`3.Range">
<summary>
Gets the range of enumeration.
</summary>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndexReader`3.Direction">
<summary>
Gets the direction of enumeration relatively to index key comparer.
</summary>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndexReader`3.Current">
<summary>
Gets the element in the collection at the current position of the enumerator.
</summary>
<returns>
The element in the collection at the current position of the enumerator.
</returns>
</member>
<member name="P:Xtensive.Indexing.Differential.DifferentialIndexReader`3.System#Collections#IEnumerator#Current">
<summary>
Gets the current element in the collection.
</summary>
<returns>
The current element in the collection.
</returns>
<exception cref="T:System.InvalidOperationException">
The enumerator is positioned before the first element of the collection or after the last element.
</exception>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.MemorySerilizer`2.#ctor(Xtensive.Indexing.Implementation.IIndexPageProvider{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Providers.Internals.MemorySerilizer`2" /> class.
</summary>
<param name="provider">The index page provider.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.Internals.MemorySerilizer`2.Dispose">
<summary>
Performs the tasks associated with freeing, releasing, or resetting unmanaged resources
or associated <see cref="T:System.IDisposable" /> objects.
</summary>
</member>
<member name="T:Xtensive.Indexing.Providers.MemoryPageProvider`2">
<summary>
Memory <see cref="T:Xtensive.Indexing.Implementation.IIndexPageProvider`2" /> which provides
<see cref="T:Xtensive.Indexing.Index`2" /> with in-memory stored pages.
</summary>
<typeparam name="TKey">Key type of the page nodes.</typeparam>
<typeparam name="TItem">Node type.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Providers.MemoryPageProvider`2.GetBloomFilter(System.Collections.Generic.IEnumerable{`1})">
<summary>
Gets the bloom filter for specified <paramref name="source" />.
</summary>
<param name="source">The source.</param>
<returns>The bloom filter.</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.MemoryPageProvider`2.AssignIdentifier(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Assigns (generates) an identifier to the page.
</summary>
<param name="page">Page to generate the identifier for.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.MemoryPageProvider`2.Resolve(Xtensive.Indexing.Implementation.IPageRef)">
<summary>
Resolves identifier by providing its owner.
</summary>
<param name="pageRef">Identifier to resolve.</param>
<returns>Identifier owner.</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.MemoryPageProvider`2.AddToCache(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Adds the specified page to cache.
</summary>
<param name="page">The page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.MemoryPageProvider`2.RemoveFromCache(Xtensive.Indexing.Implementation.Page{`0,`1})">
<summary>
Removes the specified page from cache.
</summary>
<param name="page">The page.</param>
</member>
<member name="M:Xtensive.Indexing.Providers.MemoryPageProvider`2.GetFromCache(Xtensive.Indexing.Implementation.IPageRef)">
<summary>
Gets the page from cache by specified <paramref name="pageRef" />.
</summary>
<param name="pageRef">The page reference.</param>
<returns>
</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.MemoryPageProvider`2.Flush">
<summary>
Flushes all cached page changes.
</summary>
</member>
<member name="M:Xtensive.Indexing.Providers.MemoryPageProvider`2.CreateSerializer">
<summary>
Creates the serializer for the specified page provider.
</summary>
<returns>Newly created serializer.</returns>
</member>
<member name="M:Xtensive.Indexing.Providers.MemoryPageProvider`2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Providers.MemoryPageProvider`2" /> class.
</summary>
</member>
<member name="T:Xtensive.Indexing.RangeSet`1">
<summary>
Set of not intersected <see cref="T:Xtensive.Indexing.Range`1" />.
</summary>
<typeparam name="T">The type of points.</typeparam>
</member>
<member name="M:Xtensive.Indexing.RangeSet`1.CreateFullOrEmpty(System.Boolean,Xtensive.Core.Comparison.AdvancedComparer{`0})">
<summary>
Creates the full <see cref="T:Xtensive.Indexing.RangeSet`1" /> or empty <see cref="T:Xtensive.Indexing.RangeSet`1" />.
</summary>
<param name="full">
</param>
<param name="pointTypeComparer">The comparer for the type of endpoints.</param>
<returns>Newly created <see cref="T:Xtensive.Indexing.RangeSet`1" />.</returns>
</member>
<member name="M:Xtensive.Indexing.RangeSet`1.IsFull">
<summary>
Determines whether this instance contains a single full range.
</summary>
<returns>
<see langword="true" /> if this instance is full; otherwise, <see langword="false" />.
</returns>
</member>
<member name="M:Xtensive.Indexing.RangeSet`1.IsEmpty">
<summary>
Determines whether this instance does not contain any <see cref="T:Xtensive.Indexing.Range`1" />.
</summary>
<returns>
<see langword="true" /> if this instance is empty; otherwise, <see langword="false" />.
</returns>
</member>
<member name="M:Xtensive.Indexing.RangeSet`1.Unite(Xtensive.Indexing.RangeSet{`0})">
<summary>
Unites the current <see cref="T:Xtensive.Indexing.RangeSet`1" /> with the other one.
</summary>
<param name="otherSet">The other <see cref="T:Xtensive.Indexing.RangeSet`1" />.</param>
<returns>
<see langword="this" />
</returns>
</member>
<member name="M:Xtensive.Indexing.RangeSet`1.Intersect(Xtensive.Indexing.RangeSet{`0})">
<summary>
Intersects the current <see cref="T:Xtensive.Indexing.RangeSet`1" /> with the other one.
</summary>
<param name="otherSet">The other <see cref="T:Xtensive.Indexing.RangeSet`1" />.</param>
<returns>
<see langword="this" />
</returns>
</member>
<member name="M:Xtensive.Indexing.RangeSet`1.Invert">
<summary>
Inverts current <see cref="T:Xtensive.Indexing.RangeSet`1" />.
</summary>
<returns>
<see langword="this" />
</returns>
</member>
<member name="M:Xtensive.Indexing.RangeSet`1.GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
</returns>
<filterpriority>1</filterpriority>
</member>
<member name="M:Xtensive.Indexing.RangeSet`1.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
</returns>
<filterpriority>1</filterpriority>
</member>
<member name="M:Xtensive.Indexing.RangeSet`1.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
</summary>
<returns>
A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
</returns>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.RangeSet`1.#ctor(Xtensive.Indexing.Range{`0},Xtensive.Core.Comparison.AdvancedComparer{`0})">
<summary>
Creates new RangeSet containing a single <see cref="T:Xtensive.Indexing.Range`1" />.
</summary>
<param name="firstRange">
<see cref="T:Xtensive.Indexing.Range`1" /> to be used as base for RangeSet.</param>
<param name="pointComparer">The comparer for the endpoints.</param>
</member>
<member name="T:Xtensive.Indexing.RangeSetReader`2">
<summary>
Reader for <see cref="T:Xtensive.Indexing.RangeSet`1" /></summary>
</member>
<member name="M:Xtensive.Indexing.RangeSetReader`2.GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
</returns>
<filterpriority>1</filterpriority>
</member>
<member name="M:Xtensive.Indexing.RangeSetReader`2.MoveNext">
<summary>
Advances the enumerator to the next element of the collection.
</summary>
<returns>true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
</returns>
<exception cref="T:System.InvalidOperationException">
The collection was modified after the enumerator was created.
</exception>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.RangeSetReader`2.Reset">
<summary>
Sets the enumerator to its initial position, which is before the first element in the collection.
</summary>
<exception cref="T:System.InvalidOperationException">
The collection was modified after the enumerator was created.
</exception>
<filterpriority>2</filterpriority>
</member>
<member name="M:Xtensive.Indexing.RangeSetReader`2.MoveTo(Xtensive.Indexing.Entire{`0})">
<summary>
Moves the internal pointer to the specified key.
You still should call <see cref="M:System.Collections.IEnumerator.MoveNext" />
after calling this method to make
<see cref="P:System.Collections.Generic.IEnumerator`1.Current" /> property value available.
</summary>
<param name="key">The key to move to.</param>
<remarks>
<note type="caution">
The specified <paramref name="key" /> must be
inside the <see cref="P:Xtensive.Indexing.IIndexReader`2.Range" /> of this reader.
</note>
</remarks>
</member>
<member name="M:Xtensive.Indexing.RangeSetReader`2.#ctor(System.Collections.Generic.IEnumerable{Xtensive.Indexing.IIndexReader{`0,`1}})">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.RangeSetReader`2" /> class.
</summary>
<param name="readersList">The list of readers.</param>
</member>
<member name="M:Xtensive.Indexing.RangeSetReader`2.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
</summary>
<filterpriority>2</filterpriority>
</member>
<member name="P:Xtensive.Indexing.RangeSetReader`2.Current">
<summary>
Gets the element in the collection at the current position of the enumerator.
</summary>
<returns>
The element in the collection at the current position of the enumerator.
</returns>
</member>
<member name="P:Xtensive.Indexing.RangeSetReader`2.Range">
<summary>
Gets the range of enumeration.
</summary>
</member>
<member name="P:Xtensive.Indexing.RangeSetReader`2.Direction">
<summary>
Gets the direction of enumeration relatively to index key comparer.
</summary>
</member>
<member name="T:Xtensive.Indexing.Optimization.IStatistics`1">
<summary>
Statistics of an index.
</summary>
<typeparam name="T">The type of the key of the index.</typeparam>
</member>
<member name="M:Xtensive.Indexing.Optimization.IStatistics`1.GetData(Xtensive.Indexing.Range{Xtensive.Indexing.Entire{`0}})">
<summary>
Gets the <see cref="T:Xtensive.Indexing.Optimization.StatisticsData" />.
</summary>
<param name="range">The range.</param>
<returns>The statistics data which was collected for the <paramref name="range" />.</returns>
</member>
<member name="T:Xtensive.Indexing.Optimization.StatisticsData">
<summary>
Data collected by an implementor of <see cref="T:Xtensive.Indexing.Optimization.IStatistics`1" />.
</summary>
</member>
<member name="F:Xtensive.Indexing.Optimization.StatisticsData.RecordCount">
<summary>
The count of records to be loaded.
</summary>
</member>
<member name="F:Xtensive.Indexing.Optimization.StatisticsData.SeekCount">
<summary>
The count of seeks which are necessary to load data.
</summary>
</member>
<member name="M:Xtensive.Indexing.Optimization.StatisticsData.#ctor(System.Double,System.Double)">
<summary>
Initializes a new instance of the <see cref="T:Xtensive.Indexing.Optimization.StatisticsData" /> class.
</summary>
<param name="recordCount">The record count.</param>
<param name="seekCount">The seek count.</param>
</member>
</members>
</doc>