Click here to Skip to main content
15,896,484 members
Articles / Hosted Services / Azure

DataObjects.Net - ORM Framework for RAD - Introduction

Rate me:
Please Sign up or sign in to vote.
4.85/5 (15 votes)
7 Sep 2010CPOL11 min read 50.1K   1.1K   32  
Introduction into the ORM Framework DataObjects.Net from x-tensive
<?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&lt;TKey,TItem&gt;" /> 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&lt;TKey,TItem&gt;" /> 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&lt;T&gt;" />.
            </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&lt;TITem&gt; 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&lt;{0}&gt;({1}).
            </summary>
    </member>
    <member name="P:Xtensive.Indexing.Resources.Strings.RayFormat">
      <summary>
              Looks up a localized string similar to ({0} -&gt; {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>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
CEO
Germany Germany
I'm a Senior Software Consultant
Thomas Maierhofer Consulting

Comments and Discussions