<?xml version="1.0"?>
<doc>
    <assembly>
        <name>JetBrains.dotMemory.Core</name>
    </assembly>
    <members>
        <member name="T:JetBrains.dotMemory.Core.ActivityTracking.ActivityTrackerAccessor">
            <summary>
            DO NOT use this class directly (only for setting activity tracking up) use ActivityTracker from the corresponding namespace
            This class is used to provide static access to the real <see cref="T:JetBrains.dotMemory.Core.ActivityTracking.IActivityTracker"/> implementation from different layers of the app
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.ActivityTracking.ActivityTrackerAccessor.SetActiveProfilingSession">
            <summary>
            Call this method if dotMemory performs active profiling rather then opening saved workspace or dump
            Some Events are reported only during active profiling session due to do not duplicate data such as snapshot's "TotalObjectsCount"
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.DependencyToken">
            <summary>
            The semantic wrapper over Armature's arbitrary token.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.ArmatureLongDependencyExtension">
            <summary>
            Extensions to support long-dependency concept.
            </summary>
            <remarks>
            The long-dependency concept was introduced to simplify and unify entities resolution for view-models.
            The most VM-s requires some set of entities to start working (in other words VM completely useless until entities have resolved).
            Long-dependency mechanism provides intermediate stub-vm with progress while resolving required entities,
            after completion it switch to actual VM. See <c>IHavingPrerequisitesVm</c>.
            The VM just declares its required entities with [LongDependency] attribute.<br/>
            <br/>
            The most work related to long-dependency resolution performed in <c>BuildWithLongDependencies</c> method.<br/>
            <br/>
            The related stuff:<br/>
            * <see cref="T:JetBrains.dotMemory.Core.LongDependencyAttribute"/><br/>
            * <see cref="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterLongDependencyRef``1(System.Object,System.Boolean)"/><br/>
            * <see cref="M:JetBrains.dotMemory.Core.ArmatureLongDependencyExtension.AsLongDependency``1(BeatyBit.Armature.IBuildingTuner{``0})"/><br/>
            * <see cref="T:JetBrains.dotMemory.Core.ArmatureLongDependencyExtension.LongDependencyTuner`1"/><br/>
            * IHavingPrerequisitesVm<br/>
            <br/>
            Some examples:<br/>
            * Dominators.DominatorTreeCompoundVm<br/>
            * Traffic.v2.AllocatedTypesPairedVm<br/>
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.ArmatureLongDependencyExtension.RegisterAsyncDataProvider``1(BeatyBit.Armature.Core.Builder)">
            <summary>
            Registers <see cref="T:JetBrains.Common.Util.DataPipes.IAsyncDataProvider`1"/> for accessing long-dependency <typeparamref name="T"/>.
            </summary>
            <remarks>
            IMPORTANT! This is disputable solution, DO NOT use it in new code, if absolutely necessary.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.DataRule.AddRule``1(System.Collections.Generic.IList{JetBrains.Application.DataContext.IDataRule},JetBrains.Application.DataContext.DataConstant{``0},``0)">
            <summary>
            Adds another rule to the rules list. Modifies the original list. Fluent.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.DataRule.AddRule``1(System.Collections.Generic.IList{JetBrains.Application.DataContext.IDataRule},JetBrains.Application.DataContext.DataConstant{``0},System.Func{JetBrains.Application.DataContext.IDataContext,``0})">
            <summary>
            Adds another rule to the rules list. Modifies the original list. Fluent.
            </summary>
        </member>
        <member name="F:JetBrains.dotMemory.Core.DotMemoryProcessUtil.DotMemoryProcessName">
            <summary>
            We need to exclude dotMemory itself from profiling in case of "Profile all .net processes" mode
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.FactoryExtension.Create``1(JetBrains.dotMemory.Core.IFactory,JetBrains.Lifetimes.Lifetime,System.Object[])">
            <summary>
            Creates instance of <typeparamref name="T"/> via <paramref name="factory"/>.<br/>
            If `T` is not registered then <see cref="T:JetBrains.dotMemory.Core.NotResolvedException"/> is thrown.<br/>
            If `T` is registered as null-instance then <c>InvalidOperationException</c> is thrown.<br/>
            In case when <c>null</c> is valid value use <see cref="M:JetBrains.dotMemory.Core.IFactory.Resolve(System.Object,System.Type,BeatyBit.Armature.Core.IBuildStackPattern)"/> instead.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.FactoryExtension.Create``1(JetBrains.dotMemory.Core.IFactory,System.Object[])">
            <summary>
            See <see cref="M:JetBrains.dotMemory.Core.FactoryExtension.Create``1(JetBrains.dotMemory.Core.IFactory,JetBrains.Lifetimes.Lifetime,System.Object[])"/>
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.Blob.GetBytes">
            <summary>
            Returns blob content as byte array.<br/>
            NOTE. This method for backward compatibility, it isn't recommended for new code.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.DiskAdjacencyList`1">
            <summary>
            Represents basic entity: adjacency list stored on the disk with random read access.
            </summary>
            <remarks>
            IMPORTANT! Disk-entities aren't thread safe - you must not access the same instance concurrently.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskAdjacencyList`1.ReadItems(JetBrains.dotMemory.Core.Foundation.Range{JetBrains.dotMemory.Core.Foundation.SubIndex})">
            <summary>
            Reads items at given range.
            </summary>
            <remarks>
            DO NOT USE returned reader after consequent call to <c>ReadItems</c>.
            </remarks>
            <example>
            <code>    
            var range = adjacencyList.ReadSubRange(currentIndex); 
            var items = adjacencyList.ReadItems(subRange);
            while (items.Next(out var item))
            {
              // ...
            }
            </code>
            </example>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskAdjacencyList`1.ReadItems(System.Int64)">
            <summary>
            The shortcut for <c>ReadItems(this.ReadSubRange(currentIndex))</c>.
            </summary>
            <example>
            <code>
            var items = adjacencyList.ReadItems(currentIndex);
            while (items.Next(out var item))
            {
              // ...
            }
            </code>
            </example> 
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.DiskArray`1">
            <summary>
            Represents basic entity: array stored on the disk with random read-access only.
            </summary>
            <remarks>
            IMPORTANT! Disk-entities aren't thread safe - you must not access the same instance concurrently.
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.DiskArray`1.Empty">
            <summary>
            The empty instance of disk array.
            </summary>
            <remarks>
            Implemented via property to prevent possible exception on static-initialization phase.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.DiskArray">
            <summary>
            The fluent-style API for <see cref="T:JetBrains.dotMemory.Core.Foundation.DiskArray`1"/> construction.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Of``1(JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion,System.Int32)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.DiskArray`1"/> from <see cref="T:JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion"/>.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Of``1(JetBrains.Common.MemoryMappedStorage.IReadonlyMemoryMappedSection)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.DiskArray`1"/> from <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection"/>.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.WithLength(System.Int64)">
            <summary>
            Specifies externally provided length (in items) of array. 
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.WithBufferedItemsCount(System.Int32)">
            <summary>
            Specifies buffer length (in items) used for reading.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.WithPrefetchItemsCount(System.Int32)">
            <summary>
            Specifies number of items which should be pre-fetched by default after seek.
            </summary>
            <remarks>
            The default value is 1.<br/>
            The value 0 means no pre-fetching performed after seek but first read operation will load entire buffer. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ReadLength32">
            <summary>
            Reads array length from header as Int32.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ReadLength64">
            <summary>
            Reads array length from header as Int64.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ReadSizeOfHeapPtr(JetBrains.Common.Util.PtrSize@)">
            <summary>
            Read size of HeapPtr from header as Byte.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ReadHeapPtr(JetBrains.Common.Util.PtrSize,JetBrains.dotMemory.Core.Foundation.HeapPtr@)">
            <summary>
            Reads HeapPtr either UInt32 or UInt64 according to size of HeapPtr read previously. 
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ReadByte(System.Byte@)">
            <summary>
            Reads Byte from header.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ReadUInt16(System.UInt16@)">
            <summary>
            Reads UInt16 from header.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ReadUInt32(System.UInt32@)">
            <summary>
            Reads UInt32 from header.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ReadInt32(System.Int32@)">
            <summary>
            Reads Int32 from header.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ReadInt64(System.Int64@)">
            <summary>
            Reads Int64 from header.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ReadUInt64(System.UInt64@)">
            <summary>
            Reads UInt64 from header.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.SkipBytes(System.Int32)">
            <summary>
            Skips specified number of bytes of header.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.ForItem(System.Action{JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder{`0}})">
            <summary>
            Set-up item serializer.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArray.Builder`1.Build(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Builds <see cref="T:JetBrains.dotMemory.Core.Foundation.DiskArray`1"/>.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter`1.Append(System.Int64@)">
            <summary>
            Sets write position to the end of region and returns current array length (items count).  
            </summary>
            <remarks>
            Array with explicitly specified length can not be appended.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter">
            <summary>
            The fluent-style API for <see cref="T:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter`1"/> construction.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter.Of``1(JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion,System.Int32)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter`1"/> from <see cref="T:JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion"/>.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter.Of``1(System.IO.Stream,System.Int32)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter`1"/> from <see cref="T:System.IO.Stream"/>.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter.Of``1(JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection,System.Int32)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter`1"/> from <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection"/> -
            creates <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedHeader"/> (if needed) and <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSectionData"/>.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter.Builder`1.ForItem(System.Action{JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder{`0}})">
            <summary>
            Set-up item serializer.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter.Builder`1.WriteLength64(System.Int64)">
            <summary>
            Writes length (in items) of array.
            </summary>
            <remarks>
            Array with explicitly specified length can not be appended.
            </remarks> 
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter.Builder`1.WriteLength32(System.Int32)">
            <summary>
            Writes length (in items) as 32-bit int.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter.Builder`1.WritePtrSize(JetBrains.Common.Util.PtrSize)">
            <summary>
            Writes pointer size.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter.Builder`1.WriteInt64(System.Int64)">
            <summary>
            Writes pointer size.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter.Builder`1.Build(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Builds <see cref="T:JetBrains.dotMemory.Core.Foundation.DiskArrayWriter`1"/>.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.DiskByteArray">
            <summary>
            Represents basic entity: optimized byte-array stored on the disk with random read access.
            </summary>
            <remarks>
            IMPORTANT! Disk-entities aren't thread safe - you must not access the same instance concurrently.
            </remarks> 
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.DiskGraph`1">
            <summary>
            Represents non-virtual graph data structure stored on disk.
            </summary>
            <remarks>
            Implemented via <see cref="T:JetBrains.dotMemory.Core.Foundation.DiskAdjacencyList`1"/>.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskGraph`1.ReadSubRange(`0)">
            <summary>
            Reads range of indices where references from <paramref name="nodeNumber"/> are stored.
            </summary>
            <remarks>
            If only references count is needed then you might read just a range without followed <c>ReadReferences</c>.<br/>
            Also it is allowed to narrow a range before passing to <c>ReadReferences</c>. E.g. it might be useful for paging. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskGraph`1.ReadReferences(JetBrains.dotMemory.Core.Foundation.Range{JetBrains.dotMemory.Core.Foundation.SubIndex})">
            <summary>
            Reads references at given range.
            </summary>
            <remarks>
            DO NOT USE returned reader after consequent call to <c>ReadReferences</c>.
            </remarks>
            <example>
            <code>
            var range = diskGraph.ReadSubRange(currentNode);
            // narrow range if necessary
            var references = diskGraph.ReadReferences(range);
            while (references.Next(out var reference))
            {
              // ...
            }
            </code>
            </example>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskGraph`1.ReadReferences(`0)">
            <summary>
            The shortcut for <c>ReadReferences(this.ReadSubRange(currentNode))</c>.
            </summary>
            <remarks>
            DO NOT USE returned reader after consequent call to <c>ReadReferences</c>.
            </remarks>
            <example>
            <code>    
            var references = diskGraph.ReadReferences(currentNode);
            while (references.Next(out var reference))
            {
              // ...
            }
            </code>
            </example>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.DiskGraph`2">
            <summary>
            Represents non-virtual graph stored on disk with additional data associated with the edge.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskGraph`2.ReadDetails(JetBrains.dotMemory.Core.Foundation.Range{JetBrains.dotMemory.Core.Foundation.SubIndex})">
            <summary>
            Reads reference details at specified range. 
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskGraph`2.ReadDetails(`0)">
            <summary>
            Reads reference details from given node. 
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskGraph`2.ReadDetailedReferences(JetBrains.dotMemory.Core.Foundation.Range{JetBrains.dotMemory.Core.Foundation.SubIndex})">
            <summary>
            Reads reference targets and details at specified range. 
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.DiskGraph`2.ReadDetailedReferences(`0)">
            <summary>
            Reads reference targets and details from given node. 
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.EntityRegistrator">
            <summary>
            Provides fluent-style API for registering entities accessed via <see cref="T:JetBrains.dotMemory.Core.Foundation.IEntityRef`2"/>.
            </summary>
            <remarks>
            There are several types of entities:<br/>
            <br/>
            * in-memory JetArray-based<br/>
            ** supports memory time-based caching (hold for some time after releasing all usages)<br/>
            ** supports disk caching (generalized or custom)<br/>
            ** suitable for both value- and reference-type elements, but...<br/>
            ** ...RECOMMENDED for reference-type elements only<br/>
            ** ...for value-type elements the VxArray-based way is HIGHLY RECOMMENDED<br/>
            ** provides immutable data, so thread-safe without any additional synchronization<br/>
            ** provides the same instance for all requests<br/>
            <br/>
            * DiskArray-based aka readers<br/>
            ** random access to immutable data stored on disk<br/>
            ** provides new instance for each request, returned instance must be used in single thread only because contains current read position<br/>
            ** supports access to both raw- and calculated- data<br/>
            ** used when access to small pieces of data is needed, but...<br/>
            ** ...ISN'T RECOMMENDED for new entities, the VxArray provides better experience in almost all cases<br/>
            <br/>
            * memory mapped VxArray-based<br/>
            ** the VxArray has built over memory-mapped file technique:<br/>
               operates over raw memory, provides highly efficient IO operations and supports partial loading<br/>
            ** supports disk caching by definition<br/>
            ** supports memory caching by design (OS leaves released pages in file cache while amount of physical memory permits)<br/>
            ** supports effective access to small pieces of data by design (due to per-page loading)<br/>
            ** supports value-type elements ONLY<br/>
            ** HIGHLY RECOMMENDED for all cases whenever possible<br/>
            <br/>
            * tuple<br/>
            ** introduced for cases when calculation algorithm produces several entities at once, but then each entity should be accessed separately<br/>
            ** each entity in tuple stored in own disk-cache slot<br/>
            <br/>
            * tuple of VxArray-based<br/>
            ** solves the same case as tuple above but has simpler implementation due to memory-mapped file technique<br/>
            <br/>
            * compound<br/>
            ** composes entity from several sub-entities<br/>
               E.g. object graph composed from indices and references and/or details.<br/>
               The interesting moment here that indices are taken directly from snapshot, but references and details are taken from calculation cache. 
            </remarks>
            
            TODO: consider rename to 'EntityRegistrar'
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.Register``2(System.Object,System.Boolean)">
            <summary>
            Registers entity-ref to in-memory entity as <see cref="T:JetBrains.dotMemory.Core.Foundation.Impl.SharedEntityRef`2"/>.
            The entity instance is shared by consumers.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.Register``1(System.Object,System.Boolean)">
            <summary>
            The shortcut for <c>Register&lt;TEntity,NoTag&gt;</c>
            </summary>
            <seealso cref="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.Register``2(System.Object,System.Boolean)"/>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterReader``2(System.Object,System.Boolean)">
            <summary>
            Register entity-ref to on-disk entity (aka reader) as <see cref="T:JetBrains.dotMemory.Core.Foundation.Impl.InstanceEntityRef`2"/>.
            The entity instance is independent for each consumer.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterReader``1(System.Object,System.Boolean)">
            <summary>
            The shortcut for <c>RegisterReader&lt;TDiskEntity,NoTag&gt;</c>
            </summary>
            <seealso cref="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterReader``2(System.Object,System.Boolean)"/>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterTuple``2(System.Object,System.Boolean)">
            <summary>
            Registers entity-ref to tuple of entities as <see cref="T:JetBrains.dotMemory.Core.Foundation.Impl.SharedEntityRef`2"/>.
            The tuple is shared by consumers.
            </summary>
            <remarks>
            Some algorithms produce several entities at once, i.e. tuple of entities.<br/>
            The tuple just an internal artifact of algorithm, it should not be used by any upper-level logic.<br/>
            Instead, each entity from tuple processed independently with its own cache-chain.
            So, <see cref="T:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.TupleEntityTuner`2"/> INTENTIONALLY DOESN'T HAVE the methods:<br/>
             * <c>With(PreresolutionOrder)</c><br/>
             * <c>WithMemoryCache</c><br/>
             * <c>WithDiskCache</c><br/>
            See <c>ReverseGraphTuple</c> registration for example.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterTuple``1(System.Object,System.Boolean)">
            <summary>
            The shortcut for <c>RegisterTuple&lt;TTuple,NoTag&gt;</c>
            </summary>
            <seealso cref="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterTuple``2(System.Object,System.Boolean)"/>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterVx``2(System.Object,System.Boolean)">
            <summary>
            Registers entity-ref to VxEntity - entity based on VxArray and memory mapped technique.
            The entity instance is shared by consumers.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterCustom``2">
            <summary>
            Registers custom entity-ref.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterLongDependencyRef``1(System.Object,System.Boolean)">
            <summary>
            Registers entity-ref to long dependency registration. The long dependency itself must be registered separately.
            The entity instance sharing is controlled by long dependency declaration.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.SharedEntityTuner`2.DependingOn``1">
            <summary>
            Adds dependency of currently tuned entity to the entity tuple.
            When tuple will be resolved then all dependent entities get `PreresolveAsync` called (this provides facility to store to disk cache parts of tuple as separate entities).
            The lifetime of entity tuple will not be terminated until all pre-resolution tasks are finished.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.TupleEntityTuner`2">
            <summary>
            Registration tuner for tuple of entities.
            </summary>
            <remarks>
            INTENTIONALLY DOESN'T HAVE the methods:<br/>
             * <c>With(PreresolutionOrder)</c><br/>
             * <c>WithMemoryCache</c><br/>
             * <c>WithDiskCache</c><br/>
            See <see cref="M:JetBrains.dotMemory.Core.Foundation.EntityRegistrator.RegisterTuple``2(System.Object,System.Boolean)"/> for details.
            </remarks>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.EntityState.InMemory">
            <summary>
            The entity is evaluated and already in memory.
            </summary>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.EntityState.OnDisk">
            <summary>
            The entity is evaluated and stored on the disk. 
            </summary>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.EntityState.Evaluating">
            <summary>
            The entity is evaluating (task is scheduled or running but result not yet available).
            </summary>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.EntityState.NotEvaluated">
            <summary>
            The entity isn't evaluated and task isn't scheduled yet.
            </summary>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.EntityState.NotAvailable">
            <summary>
            The entity isn't available (no data were written)
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Dfs``1(JetBrains.dotMemory.Core.Foundation.JetGraph{``0},JetBrains.Util.Misc.JetProgress,JetBrains.dotMemory.Core.Foundation.JetImmutableArray{``0},JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.CollectOptions{``0})">
            <summary>
            Generalized depth-first-search algorithm.
            </summary>
            <remarks>
            IMPORTANT! If <typeparamref name="T"/> is a value type then performance will be the same as of
            specialized implementation (interface calls on value types are successfully inlined by compiler).
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Dfs``1(JetBrains.dotMemory.Core.Foundation.JetGraph{``0},JetBrains.Util.Misc.JetProgress,JetBrains.dotMemory.Core.Foundation.JetImmutableArray{``0})">
            <summary>
            Generalized depth-first-search algorithm.
            </summary>
            <remarks>
            IMPORTANT! If <typeparamref name="T"/> is a value type then performance will be the same as of
            specialized implementation (interface calls on value types are successfully inlined by compiler).
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Bfs``1(JetBrains.dotMemory.Core.Foundation.JetGraph{``0},JetBrains.Util.Misc.JetProgress,JetBrains.dotMemory.Core.Foundation.JetImmutableArray{``0},JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.CollectOptions{``0})">
            <summary>
            Generalized breadth-first-search algorithm.
            </summary>
            <remarks>
            IMPORTANT! If <typeparamref name="T"/> is a value type then performance will be the same as of
            specialized implementation (interface calls on value types are successfully inlined by compiler).
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Dfs``2(JetBrains.dotMemory.Core.Foundation.JetGraph{``0},JetBrains.Util.Misc.JetProgress,JetBrains.dotMemory.Core.Foundation.JetImmutableArray{``0},``1)">
            <summary>
            Generalized depth-first-search algorithm with callbacks.
            </summary>
            <remarks>
            IMPORTANT! If both <typeparamref name="TNode"/> and <typeparamref name="TCallback"/> are a value types then performance will be the same as of
            specialized implementation (interface calls on value types are successfully inlined by compiler).
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.CollectOptions`1.SpanningTree">
            <summary>
            Specifies to collect spanning tree. 
            </summary>
            <remarks>
            IMPORTANT! `SpanningTree` requires <see cref="M:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.CollectOptions`1.ForUnsetUse(`0)"/> to be specified also.
            </remarks>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Result`1.Mark">
            <summary>
            Accessibility marks.
            </summary>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Result`1.SpanningTree">
            <summary>
            Spanning tree according to traverse order. The <c>SpanningTree[n]</c> is a parent of n-th node. 
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Result`1.SpanningTreeReferenceIndex">
            <summary>
            The reference index for appropriate node in <c>SpanningTree</c>.
            The <c>SpanningTreeReferenceIndex[n]</c> is an index of reference from parent to n-th node,
            i.e. <c>graph[SpanningTreeReferenceIndex[n]] == (TNode)n</c> 
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Result`1.PreOrder">
            <summary>
            Nodes in pre-traverse order.
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Result`1.PostOrder">
            <summary>
            Nodes in post-traverse order.
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Result`1.EnterTime">
            <summary>
            
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Result`1.ExitTime">
            <summary>
            
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms.Result`1.Level">
            <summary>
            Depth level.
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.HeapPtr">
            <summary>
            Represents address inside managed heap of profiled application.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.HeavyActivityTracker">
            <summary>
            The global async-activity tracker for "heavy" tasks. Used to detect idle (neither cpu nor io payload) state to start background calculations. 
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.ICanBeIndex">
            <summary>
            Mix-in interface used for algorithm generalization (e.g. see <see cref="T:JetBrains.dotMemory.Core.Foundation.GraphAlgorithms"/>)
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.IEntityPersister`2">
            <summary>
            Provides facility for persisting/restoring entity to/from disk storage.
            </summary>  
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.IDiskEntityProvider`2">
            <summary>
            Provides disk-entity to cached data. 
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IDiskEntityProvider`2.GetDiskEntity(JetBrains.Lifetimes.Lifetime,JetBrains.dotMemory.Core.Foundation.IPersistentRoom)">
            <summary>
            
            </summary>
            <remarks>
            The returned disk-entity is implicitly bound to room's lifetime.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.IEntityPreresolutionService">
            <summary>
            The service performing background entities pre-resolution.
            </summary>
            <remarks>
            Service represents background activity and MUST BE bound to lifetime which
            will be terminated BEFORE scopes where pre-resolved entities registered. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IEntityPreresolutionService.Enqueue(System.Collections.Generic.IReadOnlyCollection{JetBrains.dotMemory.Core.Foundation.ISupportPreresolution},System.String)">
            <summary>
            Enqueues bunch of entity references for background pe-resolution. 
            </summary>
            <remarks>
            Bunches are processed sequentially.<br/>
            References from one bunch are processed in a single task with appropriate progress reporting,
            <paramref name="bunchName"/> used as part of task title which is displayed to user. 
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.IEntityRef`2">
            <summary>
            Represents asynchronously resolved reference to entity (part of model, service, etc).
            </summary>
            <remarks>
            The implementations of this interface is expected to be thread safe.
            </remarks> 
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.IEntityRef`2.State">
            <summary>
            See <see cref="T:JetBrains.dotMemory.Core.Foundation.EntityState"/>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IEntityRef`2.TryGetEntitySync(JetBrains.Lifetimes.Lifetime,`0@)">
            <summary>
            Tries to resolve entity synchronously: <c>true</c> if entity was in memory already and <c>false</c> otherwise.
            </summary>
            <remarks>
            Take the following in account:<br/>
            * method doesn't start any async activity; <br/>
            * entity instance might be either independent or shared (the last one is expected to be thread safe); <br/>
            * produced entity directly or indirectly bound to <paramref name="lifetime"/> (shared entity bound indirectly).<br/>
            <br/>
            Mostly used within resolvers chain to reduce number of 'dummy' tasks. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IEntityRef`2.GetEntityAsync(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Resolves entity in asynchronous way.
            </summary>
            <remarks>
            Take the following in account:<br/>
            * method might return already completed task; <br/>
            * task might produce either new independent entity instance or shared instance (the last one is expected to be thread safe); <br/>
            * produced entity directly or indirectly bound to <paramref name="lifetime"/> (shared entity bound indirectly);<br/>
            * task itself is not bound to <paramref name="lifetime"/> (lifetime termination doesn't cancel a task).  
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.IEntityRef`1">
            <summary>
            The shortcut for <c>IEntityRef&lt;TEntity,NoTag&gt;</c>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRefEx.GetEntitySync``2(JetBrains.dotMemory.Core.Foundation.IEntityRef{``0,``1},JetBrains.Lifetimes.Lifetime)">
            <summary>
            Gets entity synchronously. Throws exception if reference can't be resolved synchronously. 
            </summary>
            <remarks>
            IMPORTANT! Use this method for raw entities only. Only raw entities are guaranteed to be resolved synchronously.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.EntityRefEx.IsAvailable``2(JetBrains.dotMemory.Core.Foundation.IEntityRef{``0,``1})">
            <summary>
            Returns true if entity is available in current profile configuration and false otherwise.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.ParallelFlowEntityRefEx.GetEntity``2(JetBrains.Common.Util.IExecutionController,JetBrains.Lifetimes.Lifetime,System.Int32,JetBrains.dotMemory.Core.Foundation.IEntityRef{``0,``1},``0@)">
            <summary>
            The convenient shortcut to resolve entity reference. 
            </summary>    
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.IEntityResolverInternal`2">
            <summary>
            Represents step in entity reference resolution pipeline. 
            </summary>  
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IEntityResolverInternal`2.TryResolveEntityFast(JetBrains.Lifetimes.Lifetime,`0@)">
            <summary>
            Tries to resolves entity without potentially long-running operations.
            </summary>    
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Impl.EntityDetupler`4">
            <summary>
            Extracts single item (entity) from tuple of entities.
            </summary>
            <remarks>
            Used when some algorithm produces a set of entities at once (e.g. ReverseGraphBuilder). 
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Impl.EntityDiskCacheReader`3">
            <summary>
            Represents resolver of disk-entity which reads directly from disk cache.
            </summary>  
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Impl.EntityTupler`2">
            <summary>
            The helper resolver which notifies tuple co-entities to be stored in disk cache.
            </summary>  
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Impl.InstanceEntityRef`2">
            <summary>
            Alternative implementation of <see cref="T:JetBrains.dotMemory.Core.Foundation.IEntityRef`2"/> which do not share entity instances, i.e. it returns new instance on each request.
            Might resolve entity either synchronously (returns finished task with result) or asynchronously depending of source's resolution state.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Impl.SharedEntityRef`2">
            <summary>
            The main implementation of <see cref="T:JetBrains.dotMemory.Core.Foundation.IEntityRef`1"/>.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Io.ReadableMemoryMappedEmptyBuffer">
            <summary>
            The empty implementation of <see cref="T:JetBrains.dotMemory.Core.Foundation.IReadableMemoryMappedBuffer"/>.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Io.ReadableMemoryMappedSectionDataBuffer">
            <summary>
            The <see cref="T:JetBrains.dotMemory.Core.Foundation.IReadableMemoryMappedBuffer"/> implementation for <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSectionData"/>.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Io.ReadableMemoryMappedSectionHeaderBuffer">
            <summary>
            The <see cref="T:JetBrains.dotMemory.Core.Foundation.IReadableMemoryMappedBuffer"/> implementation for <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedHeader"/>.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Io.ReadableMemoryMappedStreamBuffer">
            <summary>
            The <see cref="T:JetBrains.dotMemory.Core.Foundation.IReadableMemoryMappedBuffer"/> implementation for regular <see cref="T:System.IO.Stream"/>.
            </summary>
            <remarks>
            It is possible to create several buffers over the same stream region, but they aren't thread safe, i.e. the caller is responsible for synchronization. 
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Io.WritableMemoryMappedSectionDataBuffer">
            <summary>
            The <see cref="T:JetBrains.dotMemory.Core.Foundation.IWritableMemoryMappedBuffer"/> implementation for <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSectionData"/>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.Io.WritableMemoryMappedSectionDataBuffer.#ctor(JetBrains.Lifetimes.Lifetime,JetBrains.Common.MemoryMappedStorage.IMemoryMappedSectionData,System.Int32,System.Boolean)">
            <summary>
            Constructs memory mapped buffer over MMS section data.
            </summary>
            <remarks>
            IMPORTANT! Use <paramref name="allowSeek"/> parameter only if absolutely necessary,
            because it allows data modification behind <see cref="P:JetBrains.Common.MemoryMappedStorage.IReadonlyMemoryMappedSectionData.ReadyPosition"/>.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Io.WritableMemoryMappedStreamBuffer">
            <summary>
            The <see cref="T:JetBrains.dotMemory.Core.Foundation.IWritableMemoryMappedBuffer"/> implementation for regular <see cref="T:System.IO.Stream"/>.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.IPersistentRoom">
            <summary>
            Represents set of named stream regions associate with a single <see cref="T:JetBrains.dotMemory.Core.Foundation.PersistentKey"/> as a part of <see cref="T:JetBrains.dotMemory.Core.Foundation.IPersistentStorage"/>.
            </summary>
            <remarks>
            The persistent room instance must be accessed from a single thread only.
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.IPersistentRoom.CanRead">
            <summary>
            Whether room has any readable region or not.
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.IPersistentRoom.CanWrite">
            <summary>
            Whether room has any writable region or not.
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.IPersistentRoom.Length">
            <summary>
            The whole room length in bytes.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IPersistentRoom.GetReadableRegion(System.String)">
            <summary>
            Gets readable region by id. If this is newly created room then exception is thrown. 
            </summary>
            <remarks>
            Returned region is bound to room's lifetime.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IPersistentRoom.TryGetReadableRegion(System.String,JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion@)">
            <summary>
            Tries to get readable region by id. Returns true if region with specified id exists and false otherwise. 
            </summary>
            <remarks>
            The room itself must be readable, otherwise exception is thrown.<br/>
            Returned region is bound to room's lifetime.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IPersistentRoom.GetWritableRegion(System.String)">
            <summary>
            Gets writable region by id. If this room is in read-only mode then exception is thrown. 
            </summary>
            <remarks>
            Returned region is bound to room's lifetime.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IPersistentRoom.CommitChanges">
            <summary>
            Commits changes.
            </summary>
            <remarks>
            Due to cross-process nature of persistent storage the changes must be explicitly committed.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.IPersistentStorage">
            <summary>
            Represents cross-process persistent (disk) storage.
            </summary>
            <remarks>
            The storage must remain consistent even with concurrent cross-process access.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IPersistentStorage.HasReadableRoom(JetBrains.dotMemory.Core.Foundation.PersistentKey)">
            <summary>
            Returns <c>true</c> if readable committed persistent room exists. If the room doesn't exist at all or it is currently writing then method returns <c>false</c>.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IPersistentStorage.TryOpenReadableRoom(JetBrains.dotMemory.Core.Foundation.PersistentKey,JetBrains.Lifetimes.Lifetime,JetBrains.dotMemory.Core.Foundation.IPersistentRoom@)">
            <summary>
            Tries to open existing (readable) persistent room by given <paramref name="key"/>.    
            </summary>
            <remarks>
            The room is opened in shared read-only mode.<br/>
            If the room doesn't exist at all or it is currently exclusively locked then method returns <c>false</c>.
            </remarks>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IPersistentStorage.OpenReadableOrCreateWritableRoom(JetBrains.dotMemory.Core.Foundation.PersistentKey,JetBrains.Common.Util.IExecutionController,JetBrains.Lifetimes.Lifetime)">
            <summary>
            Opens existing (readable) or creates new (writable) persistent room by given <paramref name="key"/>.
            </summary>
            <remarks>
            The existing room is opened in shared read-only mode.<br/>
            The new room is created in exclusive write-only mode.<br/>
            If requested room already opened for write then storage waits for write finish using <paramref name="controller"/>.<see cref="M:JetBrains.Common.Util.IExecutionController.Wait(JetBrains.Common.Util.Tasks.IWaitable,System.TimeSpan)"/>.<br/>
            <br/>
            Typically, this method used for immutable data - once created it never changes. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IPersistentStorage.OpenOrCreateReadableWritableRoom(JetBrains.dotMemory.Core.Foundation.PersistentKey,JetBrains.Common.Util.IExecutionController,JetBrains.Lifetimes.Lifetime)">
            <summary>
            Opens existing or creates new readable-writable persistent room by given <paramref name="key"/>.
            </summary>
            <remarks>
            The existing room is opened in exclusive read-write mode.<br/>
            The new room is created in exclusive read-write mode.<br/>
            If requested room already opened for write then storage waits for write finish using <paramref name="controller"/>.<see cref="M:JetBrains.Common.Util.IExecutionController.Wait(JetBrains.Common.Util.Tasks.IWaitable,System.TimeSpan)"/>.<br/>
            <br/>
            Typically, this method used for mutable data - once created it might be updated from time to time.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.IReadableMemoryMappedBuffer">
            <summary>
            Low-level interface for efficient unified reading from regular <see cref="T:System.IO.Stream"/> or from memory mapped storage.  
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.IReadableMemoryMappedBuffer.TotalLength">
            <summary>
            The whole data stream length in bytes.
            IMPORTANT! Might change if underlying stream is appendable. 
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IReadableMemoryMappedBuffer.MapIntoMemory(JetBrains.dotMemory.Core.Foundation.StreamPosition,System.Int32,System.Int64,System.IntPtr@)">
            <summary>
            Maps readable region at specified stream position and given size into memory. 
            </summary>
            <remarks>
            Maps at least <paramref name="requiredBytes"/> number. If not enough data available then <see cref="T:System.IO.EndOfStreamException"/> is thrown (even if underlying stream isn't closed yet).<br/>
            Actually tries to map <paramref name="desiredBytes"/> number. If this value less than zero then default buffer length is used. If value less than <c>requiredBytes</c> then just <c>requiredBytes</c> is mapped.<br/>  
            The <paramref name="bufferPtr"/> points to pinned memory block and stays valid till next call to <c>MapIntoMemory</c> or this buffer's lifetime termination.<br/>    
            Returns actual number of mapped bytes (this number is always greater or equal to <paramref name="requiredBytes"/>).<br/>
            </remarks> 
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.ISupportPreresolution.PreresolveAsync">
            <summary>
            Starts asynchronous entity pre-calculation.
            </summary>
            <remarks>
            If entity already in-memory or on-disk then completed task should be returned.<br/>
            If entity is evaluating then either running task or new task might be returned (depending of implementation).<br/>
            if entity not available then completed task should be returned.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.ITimedReference`1">
            <summary>
            Represents reference to object which will be disposed after specified period of time after last use. 
            </summary>  
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.ITimedReference`1.LastAccessed">
            <summary>
            Last access time.
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.ITimedReference`1.ExpirationTime">
            <summary>
            Period of life after last use.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.ITimedReference`1.TryAddRef(`0@)">
            <summary>
            Tries to re-use object. If object still alive then method increments internal ref-count
            (to prevent dispose while object is in use) and returns <c>true</c> with
            <paramref name="target"/> assigned. Otherwise method returns <c>false</c>
            with <paramref name="target"/> = <c>null</c>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.ITimedReference`1.Release">
            <summary>
            Releases the referenced object by decrementing internal ref-count.
            If ref-count is <c>0</c> then object marked to be disposed after <see cref="P:JetBrains.dotMemory.Core.Foundation.ITimedReference`1.ExpirationTime"/>. 
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.ITimedReferenceService">
            <summary>
            The service which provides and handles timed references. 
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.ITimedReferenceService.Register``1(``0,JetBrains.Lifetimes.LifetimeDefinition,System.TimeSpan)">
            <summary>
            Creates timed reference and registers it in internal time table.
            </summary>
            <remarks>
            IMPORTANT! The <paramref name="lifetimeDefinition"/> is terminated from background thread.
            </remarks> 
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.IWritableMemoryMappedBuffer">
            <summary>
            Low-level interface for efficient unified writing to regular <see cref="T:System.IO.Stream"/> or to memory mapped storage.  
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.IWritableMemoryMappedBuffer.TotalLength">
            <summary>
            The committed data stream length in bytes.     
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IWritableMemoryMappedBuffer.MapIntoMemory(JetBrains.dotMemory.Core.Foundation.StreamPosition,System.Int32,System.Int64,System.IntPtr@)">
            <summary>
            Maps writable region at specified stream position and given size into memory. 
            </summary>
            <remarks>
            Maps at least <paramref name="requiredBytes"/> number.<br/>
            The <paramref name="bufferPtr"/> points to pinned memory block and stays valid till next call to <c>MapIntoMemory</c> or this buffer's lifetime termination.<br/>
            Returns actual number of mapped bytes (this number is always greater or equal to <paramref name="requiredBytes"/>).<br/>
            </remarks> 
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.IWritableMemoryMappedBuffer.Commit(System.Int32)">
            <summary>
            Commits (flushes to underlying stream) data written to the buffer.
            </summary>    
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JaggedArray`2">
            <summary>
            Represents basic entity: jagged array (array of items with array of sub-items) stored in memory.
            </summary>
            <remarks>
            This class is mostly intended for legacy data structures, for new one consider <see cref="T:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyList`2"/>.<br/>  
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.JaggedArray`2.Length">
            <summary>
            Array length (in elements) as Int64. 
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.JaggedArray`2.Length32">
            <summary>
            [BackwardCompatibility] Array length (in elements) as Int32 with range check.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JaggedArrayMarker">
            <summary>
            The helper struct used with <see cref="T:JetBrains.dotMemory.Core.Foundation.JaggedArray`2"/> and <see cref="!:DiskJaggedArray&lt;TItem,TSubItem&gt;"/>
            which contains either index of first sub-item in the complementary array (for in-memory jagged array) or
            stream position of sub-array (for on-disk jagged array).
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetAdjacencyList`1">
            <summary>
            Represents adjacency list data structure (non-virtual, loh-free). 
            </summary>  
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetArray`1">
            <summary>
            Represents basic non-virtual chunked (loh-free) array implemented over <see cref="T:JetBrains.Util.DataStructures.ChunkArray`1"/>.
            </summary>  
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.JetArray`1.InternalCapacity">
            <summary>
            Underlying storage capacity.
            </summary>
            <remarks>
            Actually, <c>JetArray</c> isn't dynamically expandable array, but due to optimizations underlying storage might contain some excess items:
            see <c>JetArrayBuilder</c><see cref="M:JetBrains.dotMemory.Core.Foundation.JetArrayBuilder`1.ToImmutableArray(System.Double)"/> and <see cref="M:JetBrains.dotMemory.Core.Foundation.JetArrayBuilder`1.ToMutableArray(System.Double)"/>.<br/>
            <br/>
            The property used for test purpose only.
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.JetArray`1.Length">
            <summary>
            Array length (in elements) as Int64. 
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.JetArray`1.Length32">
            <summary>
            [BackwardCompatibility] Array length (in elements) as Int32 with range check.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArray`1.AsSlowReadOnlyList">
            <summary>
            Returns <c>IReadOnlyList</c> wrapper over <c>JetArray</c>.<br/>
            <br/>
            BE AWARE: The access to items via interface is much slower, so use it for compatibility only.  
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArray`1.Expand(JetBrains.dotMemory.Core.Foundation.JetMutableArray{`0}@,System.Int64)">
            <summary>
            Expands array (actually creates new one and performs shallow copy of original content) similar to <see cref="M:System.Array.Resize``1(``0[]@,System.Int32)"/>.
            </summary>
            <remarks>
            DO NOT USE original array reference after expanding. 
            </remarks> 
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArray`1.TrimExcess(JetBrains.dotMemory.Core.Foundation.JetMutableArray{`0}@,System.Int64,System.Double)">
            <summary>
            Trims excess space if fill factor of <paramref name="array"/> is greater than <paramref name="fillFactor"/>.
            </summary>
            <remarks>
            Acts similar to <see cref="M:System.Array.Resize``1(``0[]@,System.Int32)"/>. DO NOT USE original array reference after trimming. 
            </remarks> 
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArray`1.TrimExcess(JetBrains.dotMemory.Core.Foundation.JetImmutableArray{`0}@,System.Int64,System.Double)">
            <summary>
            See <see cref="M:JetBrains.dotMemory.Core.Foundation.JetArray`1.TrimExcess(JetBrains.dotMemory.Core.Foundation.JetMutableArray{`0}@,System.Int64,System.Double)"/>
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetImmutableArray`1.ToMutable">
            <summary>
            Returns mutable shallow copy of this array.
            </summary>
            <remarks>
            The modification of returned instance doesn't affect original array.
            </remarks> 
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetMutableArray`1.ToImmutable">
            <summary>
            Returns immutable shallow copy of this array.
            </summary>
            <remarks>
            The original array stays mutable and its modification doesn't affect returned instance. 
            </remarks>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetMutableArray`1.AsImmutable">
            <summary>
            Returns immutable array re-using storage of this array.
            </summary>
            <remarks>
            The original array becomes sealed and its modification isn't allowed. 
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetArrayBuilder`1">
            <summary>
            Expandable builder of <c>JetArray</c>. Should be used when array length is not known in advance.
            </summary>  
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArrayBuilder`1.Reuse(System.Int64)">
            <summary>
            Prepares this builder to be re-used.
            </summary>
            <remarks>
            IMPORTANT! Access instances returned by <see cref="M:JetBrains.dotMemory.Core.Foundation.JetArrayBuilder`1.AsImmutableSlice"/> previously has undefined behaviour.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArrayBuilder`1.AsImmutableSlice">
            <summary>
            Returns instance of <see cref="T:JetBrains.dotMemory.Core.Foundation.JetImmutableSlice`1"/>.     
            </summary>
            <remarks>      
            Doesn't allocate or copy any bytes, re-uses internal storage as is (without trimming excess space).<br/>
            The builder becomes sealed and followed Append() is not allowed until Reuse() called.<br/> 
            IMPORTANT! After calling Reuse() access to previously returned instance has undefined behaviour.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArrayBuilder`1.AsMutableSlice">
            <summary>
            Returns instance of <see cref="T:JetBrains.dotMemory.Core.Foundation.JetMutableSlice`1"/>.     
            </summary>
            <remarks>    
            Doesn't allocate or copy any bytes, re-uses internal storage as is (without trimming excess space).<br/>
            The builder stays non-sealed and followed Append() is allowed.<br/>
            IMPORTANT! After calling Reuse() access to previously returned instance has undefined behaviour.     
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArrayBuilder`1.ToImmutableArray(System.Double)">
            <summary>
            Returns instance of <see cref="T:JetBrains.dotMemory.Core.Foundation.JetImmutableArray`1"/>.     
            </summary>
            <remarks>
            Constructs <c>JetArray</c> using internal storage with trimmed excess space.<br/>
            The builder becomes sealed and followed Append() is not allowed until Reuse() called.<br/>
            IMPORTANT! After calling Reuse() internal storage will be re-allocated, access to previously returned instance is safe.<br/>
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArrayBuilder`1.ToMutableArray(System.Double)">
            <summary>
            Returns instance of <see cref="T:JetBrains.dotMemory.Core.Foundation.JetMutableArray`1"/>.     
            </summary>
            <remarks>
            Constructs <c>JetArray</c> using internal storage with trimmed excess space.<br/>
            The builder becomes sealed and followed Append() is not allowed until Reuse() called.<br/>
            IMPORTANT! After calling Reuse() internal storage will be re-allocated, access to previously returned instance is safe.<br/>    
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArrayEx.TakeTop``1(JetBrains.dotMemory.Core.Foundation.JetMutableArray{``0},System.Int32,System.Comparison{``0})">
            <summary>
            Finds and moves the <paramref name="count"/> number of max elements to the begin of array, then trims excess items and return trimmed array.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArrayStableSorter.StableSort``1(JetBrains.dotMemory.Core.Foundation.JetMutableArray{``0},System.Comparison{``0},JetBrains.Util.Misc.JetProgress)">
            <summary>
            In-place stable (merge) sort. Complexity = O(N log N) Memory = O(N)
            </summary>
            <remarks>
            Sort is in-place, use it carefully if concurrent access to <paramref name="array"/> is possible.<br/>
            Allocates additional chunked array of the same size (no LOH allocations).<br/>
            The only estimated progress is reported, not necessary reaches 100%.<br/>
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetArrayStableSorter.StableSort``1(JetBrains.dotMemory.Core.Foundation.JetMutableArray{``0},System.Int64,System.Int64,System.Comparison{``0},JetBrains.Util.Misc.JetProgress)">
            <summary>
            In-place stable (merge) sort. Complexity = O(N log N) Memory = O(N)
            </summary>
            <remarks>
            Sort is in-place, use it carefully if concurrent access to <paramref name="array"/> is possible.<br/>
            Allocates additional chunked array of the same size (no LOH allocations).<br/>
            The only estimated progress is reported, not necessary reaches 100%.<br/>
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetBinaryReader">
            <summary>
            The non-virtual and optimized analogue of <c>BinaryReader</c>. 
            </summary>    
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetBinaryWriter">
            <summary>
            The non-virtual and optimized analogue of <c>BinaryWriter</c>. 
            </summary>  
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetBinaryWriterExtension.CreateExclusiveWriter(System.IO.Stream,JetBrains.Lifetimes.Lifetime)">
            <summary>
            Syntax sugar for creating <see cref="T:JetBrains.dotMemory.Core.Foundation.JetBinaryWriter"/> for a file.
            Disposes passed stream on <paramref name="lifetime"/> termination.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetGraph`1">
            <summary>
            Represents non-virtual, loh-free graph data structure.
            </summary>
            <remarks>
            Implemented via <see cref="T:JetBrains.dotMemory.Core.Foundation.JetAdjacencyList`1"/>.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetGraph`1.GetSubIndex(`0)">
            <summary>
            Returns sub-index of first reference of given <paramref name="nodeNumber"/>.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetGraph`1.GetSubRange(`0)">
            <summary>
            Returns range of sub-indices which is used to obtain references of given <paramref name="nodeNumber"/>.
            For usage example see <see cref="P:JetBrains.dotMemory.Core.Foundation.JetGraph`1.Item(JetBrains.dotMemory.Core.Foundation.SubIndex)"/>
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.JetGraph`1.Item(JetBrains.dotMemory.Core.Foundation.SubIndex)">
            <summary>
            Returns single reference at specified <paramref name="subIndex"/>.
            </summary>
            <example>
            <code>
            var subRange = graph.GetSubRange(currentNode);
            for (var j = subRange.Begin; j &lt; subRange.End; j++)
            {
              var referencedNode = graph[j];
              // ...
            }
            </code>
            </example>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetGraph`1.GetInternals(JetBrains.dotMemory.Core.Foundation.JetImmutableArray{JetBrains.dotMemory.Core.Foundation.SubIndex}@,JetBrains.dotMemory.Core.Foundation.JetImmutableArray{`0}@)">
            <summary>
            Returns internal indices and references arrays.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetGraph`2">
            <summary>
            Represents non-virtual, loh-free graph with additional data associated with the edge.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetGraph`2.GetDetails(JetBrains.dotMemory.Core.Foundation.SubIndex)">
            <summary>
            Returns single reference details at specified <paramref name="subIndex"/>.
            </summary>
            <example>
            <code>
            var subRange = graph.GetSubRange(currentNode);
            for (var j = subRange.Begin; j &lt; subRange.End; j++)
            {
              var referencedNode = graph[j];
              var referenceDetails = graph.GetDetails(j);
              // ...
            }
            </code>
            </example>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetImmutableCompactMap`2">
            <summary>
            The space optimized hash map with only 2 bits overhead for each entry. Implements so called "open-addressing" hash-map.
            TODO: this implementation might be reduced to 1 bit overhead
            </summary>
            <remarks>
            BE AWARE! It is slower than <c>Dictionary</c> about 2 times. Use for really large maps only.<br/>
            <br/>
            This is copy-pasted implementation of <see cref="T:JetBrains.Util.DataStructures.CompactMap`2"/> with removed all virtual calls.
            The <c>CompactMap</c> is slower than <c>Dictionary</c> about 3 times. 
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion">
            <summary>
            The non-virtual read-only stream region.
            </summary>
            <remarks>
            IMPORTANT! Using several regions over the same underlying stream lead to undefined behavior.
            But it is possible to open several streams with share-read over the same file.
            </remarks>
        </member>
        <member name="F:JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion.myPosition">
            <summary>
            !!! BEWARE !!!
            When an instance of this class is used with memory mapping machinery, this value will differ from the "Position" from the
            "Reader"'s point of view, because Reader prefetches data from the stream into its internal buffer.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion.CreateSubRegion(JetBrains.dotMemory.Core.Foundation.StreamPosition,JetBrains.dotMemory.Core.Foundation.StreamPosition)">
            <summary>
            !!! BEWARE !!!
            See <see cref="F:JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion.myPosition"/> documentation, and use it as a <paramref name="start"/> for this method with caution.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetStructSerializer`1">
            <summary>
            Provides facility to read/write struct from/to stream by generic but efficient way. 
            </summary>
            <remarks>
            The <typeparamref name="T"/> required to be value type with <c>[StructLayout(SequentialLayout)]</c> attribute.<br/>  
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer`1.Serialize(`0,JetBrains.dotMemory.Core.Foundation.JetBinaryWriter)">
            <summary>
            Serializes struct T by fields using Unsafe operations.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer`1.Deserialize(JetBrains.dotMemory.Core.Foundation.JetBinaryReader)">
            <summary>
            Deserializes struct T by fields using Unsafe operations.
            </summary>    
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetStructSerializer`2">
            <summary>
            Serializer for paired struct-s.
            </summary>  
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetStructSerializer">
            <summary>
            The fluent-style API for <see cref="T:JetBrains.dotMemory.Core.Foundation.JetStructSerializer`1"/> construction.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Of``1">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.JetStructSerializer`1"/>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Of``2">
            <summary>
            Constructs default <see cref="T:JetBrains.dotMemory.Core.Foundation.JetStructSerializer`2"/>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.Ignore(System.String)">
            <summary>
            Specifies to ignore particular field.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.Skip(System.Int32,System.String)">
            <summary>
            Specifies to skip given number of bytes followed after particular field.<br/>
            Used for skipping removed field.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.TreatAsUInt32">
            <summary>
            Specifies to treat <typeparamref name="T"/> as UInt32.
            </summary>
            <remarks>
            The <typeparamref name="T"/> type must contain a single Int64/UInt64 field.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.TreatAllAsUInt32">
            <summary>
            Specifies to treat all fields of <typeparamref name="T"/> as UInt32.
            </summary>
            <remarks>
            The <typeparamref name="T"/> type must contain only Int64/UInt64 fields.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.TreatAsUInt32(System.String)">
            <summary>
            Specifies to treat particular field of <typeparamref name="T"/> as UInt32.
            </summary>
            <remarks>
            The <typeparamref name="T"/> type must contain field with name <paramref name="fieldName"/> and Int64/UInt64 type.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.TreatAsInt32">
            <summary>
            Specifies to treat <typeparamref name="T"/> as Int32.
            </summary>
            <remarks>
            The <typeparamref name="T"/> type must contain a single Int64 field.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.TreatAsInt32(System.String)">
            <summary>
            Specifies to treat particular field of <typeparamref name="T"/> as Int32.
            </summary>
            <remarks>
            The <typeparamref name="T"/> type must contain field with name <paramref name="fieldName"/> and Int64 type.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.TreatAllAsInt32">
            <summary>
            Specifies to treat all fields of <typeparamref name="T"/> as Int32.
            </summary>
            <remarks>
            The <typeparamref name="T"/> type must contain only Int64 fields.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.TreatAsPtr(JetBrains.Common.Util.PtrSize)">
            <summary>
            Specifies to treat <typeparamref name="T"/> as pointer with appropriate size.
            </summary>
            <remarks>
            The <typeparamref name="T"/> type must contain a single UInt64 field.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.TreatAllAsPtr(JetBrains.Common.Util.PtrSize)">
            <summary>
            Specifies to treat all fields of <typeparamref name="T"/> as pointers with appropriate size.
            </summary>
            <remarks>
            The <typeparamref name="T"/> type must contain only UInt64 fields.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.TreatAsPtr(System.String,JetBrains.Common.Util.PtrSize)">
            <summary>
            Specifies to treat particular field of <typeparamref name="T"/> as pointer with appropriate size.
            </summary>
            <remarks>
            The <typeparamref name="T"/> type must contain field with name <paramref name="fieldName"/> and UInt64 type.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder`1.Build">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.JetStructSerializer`1"/>.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetTree`1">
            <summary>
            Generic down-ward tree based on chunk array (aka <see cref="T:JetBrains.dotMemory.Core.Foundation.JetArray`1"/>).
            Tree format: Tree format: for each node first child and next sibling node are stored.
            Provides minimal memory footprint for each node and payload can be value type with reference-type fields.
            But has some performance overhead on accessing nodes. 
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion">
            <summary>
            The non-virtual write-only stream region.
            </summary>
            <remarks>
            IMPORTANT! Using several regions over the same underlying stream lead to undefined behavior.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.Locator`2">
            <summary>
            A delegate for a <see cref="M:System.Collections.Generic.IComparer`1.Compare(`0,`0)"/>-like method, but with the right side of the comparison assumed to be already known by the method.
            </summary>
            <remarks>
            Accepts right-side value as argument to prevent memory traffic on closures. 
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.MemoryMonitor">
            <summary>
            Provides the facility to control number of memory-heavy tasks run in parallel.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.MemoryMonitor.ActualUsage">
            <summary>
            The helper class for fluent-style actual memory usage declaration.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.MemoryMonitor.ExpectedUsage">
            <summary>
            The helper class for fluent-style expected memory usage declaration.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.MemoryMonitor.ExpectedUsage.Await(JetBrains.Common.Util.IExecutionController)">
            <summary>
            Awaits while current memory consumption allows to run task with expected memory amount.<br/>
            IMPORTANT! The single task is allowed to run even requested memory more than physically available.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.MemoryMonitor.UsedWhile(JetBrains.Lifetimes.Lifetime,System.String)">
            <summary>
            Declares actual memory usage bound to <paramref name="lifetime"/>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.MemoryMonitor.NeedFor(System.String)">
            <summary>
            Declares expected memory usage which should be reserved for current task.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.MemoryMonitor.Wait(System.Threading.Tasks.Task,JetBrains.Common.Util.IExecutionController)">
            <summary>
            Waits for dependent task.
            On enter decrements number of running tasks to allow sub-task run even memory consumption exceed limits.
            On exit increments number of running tasks back.<br/>
            <br/>
            USE this method when necessary to wait sub-task without releasing current memory reservation. 
            </summary>
        </member>
        <member name="E:JetBrains.dotMemory.Core.Foundation.MemoryMonitor.PhysicalMemoryExceeded">
            <summary>
            Raised once when some task requested more than physically available memory amount.<br/>
            Might be used to show user warning.<br/>
            BE AWARE: the event raised on task's thread.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.NodeRef">
            <summary>
            Numeric reference to tree/graph node.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.ParallelForEach.ForEach``1(JetBrains.Common.Util.Tasks.ParallelExecutionFlow,JetBrains.dotMemory.Core.Foundation.JetImmutableArray{``0},System.Action{``0,JetBrains.Util.Misc.JetProgress})">
            <summary>
            Parallel ForEach: makes number of forks according to recommended parallelism degree;
            each fork process next unprocessed item from array by one.
            </summary>
            <remarks>
            Ths implementation suppose that length of <paramref name="array"/> isn't large but each item processing is complex and requires many steps.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.ParallelForEach.ForEach``1(JetBrains.Common.Util.Tasks.ParallelExecutionFlow,JetBrains.dotMemory.Core.Foundation.VxImmutableArray{``0},System.Action{JetBrains.dotMemory.Core.Foundation.VxImmutableArray{``0},JetBrains.dotMemory.Core.Foundation.Range{System.Int64},JetBrains.Util.Misc.JetProgress})">
            <summary>
            Parallel ForEach: makes number of forks according to recommended parallelism degree; each fork process slice of source array.
            </summary>
            <remarks>
            Ths implementation suppose that length of <paramref name="array"/> is large but each item processing is quite simple.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.PersistentKey">
            <summary>
            Represents key for item in the persistent storage.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.QuickSorter.RandomSeed(System.Int32)">
            <summary>
            Temporary overrides random seed used for pivot element selection.
            Use this method if reproducible sort order for equal sequences is needed. 
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.QuickSorter.QuickSort``1(JetBrains.dotMemory.Core.Foundation.JetMutableArray{``0},System.Comparison{``0},JetBrains.Util.Misc.JetProgress)">
            <summary>
            In-place quick sort with random pivot and without recursion.
            </summary>
            <remarks>
            Sort is in-place, use it carefully if concurrent access to <paramref name="array"/> is possible.<br/>    
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.QuickSorter.QuickSort``1(JetBrains.dotMemory.Core.Foundation.JetMutableArray{``0},System.Int64,System.Int64,System.Comparison{``0},JetBrains.Util.Misc.JetProgress)">
            <summary>
            In-place quick sort with random pivot and without recursion.
            </summary>
            <remarks>
            Sort is in-place, use it carefully if concurrent access to <paramref name="array"/> is possible.<br/>    
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.QuickSorter.QuickSort``1(JetBrains.Common.Util.Tasks.ParallelExecutionFlow,JetBrains.dotMemory.Core.Foundation.JetMutableArray{``0},System.Comparison{``0})">
            <summary>
            In-place parallel quick sort with random pivot and without recursion.
            </summary>
            <remarks>
            Sort is in-place, use it carefully if concurrent access to <paramref name="array"/> is possible.<br/>    
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.QuickSorter.QuickSort``1(JetBrains.Common.Util.Tasks.ParallelExecutionFlow,JetBrains.dotMemory.Core.Foundation.JetMutableArray{``0},System.Int64,System.Int64,System.Comparison{``0})">
            <summary>
            In-place parallel quick sort with random pivot and without recursion.
            </summary>
            <remarks>
            Sort is in-place, use it carefully if concurrent access to <paramref name="array"/> is possible.<br/>    
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.QuickSorter.QuickSort``1(JetBrains.dotMemory.Core.Foundation.VxMutableArray{``0},System.Comparison{``0},JetBrains.Util.Misc.JetProgress)">
            <summary>
            In-place quick sort with random pivot and without recursion.
            </summary>
            <remarks>
            Sort is in-place, use it carefully if concurrent access to <paramref name="array"/> is possible.<br/>    
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.QuickSorter.QuickSort``1(JetBrains.dotMemory.Core.Foundation.VxMutableArray{``0},System.Int64,System.Int64,System.Comparison{``0},JetBrains.Util.Misc.JetProgress)">
            <summary>
            In-place quick sort with random pivot and without recursion.
            </summary>
            <remarks>
            Sort is in-place, use it carefully if concurrent access to <paramref name="array"/> is possible.<br/>    
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.QuickSorter.QuickSort``1(JetBrains.Common.Util.Tasks.ParallelExecutionFlow,JetBrains.dotMemory.Core.Foundation.VxMutableArray{``0},System.Comparison{``0})">
            <summary>
            In-place parallel quick sort with random pivot and without recursion.
            </summary>
            <remarks>
            Sort is in-place, use it carefully if concurrent access to <paramref name="array"/> is possible.<br/>    
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.QuickSorter.QuickSort``1(JetBrains.Common.Util.Tasks.ParallelExecutionFlow,JetBrains.dotMemory.Core.Foundation.VxMutableArray{``0},System.Int64,System.Int64,System.Comparison{``0})">
            <summary>
            In-place parallel quick sort with random pivot and without recursion.
            </summary>
            <remarks>
            Sort is in-place, use it carefully if concurrent access to <paramref name="array"/> is possible.<br/>    
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.StatLog">
            <summary>
            The simple statistics accumulator.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.StreamableIndex">
            <summary>
            Semantic type for indices used in <see cref="T:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyList`2"/>.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyList`2">
            <summary>
            Represents basic entity: adjacency list with additional index data stored on the disk with random read access.  
            </summary>
            <remarks>
            This implementation is optimized for streaming:<br/>
            * doesn't store length as prefix, which allows appending;<br/>
            * does store end item index, which ensures data consistency with continuous appending - when index element has written it's safe to read all its items;<br/>
            * does store initial fictive index element, which eliminates if-operator in range reading.<br/>
            <br/>
            Intentionally left non-sealed to allow type aliasing.<br/>
            <br/>
            IMPORTANT! Disk-entities aren't thread safe - you must not access the same instance concurrently.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyList`2.ReadItems(`0@)">
            <summary>
            Reads items from current position.
            </summary>
            <remarks>
            IMPORTANT! You must call <c>SeekToBegin</c> or <c>SeekToIndex</c> first to ensure correct current position. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyList`2.ReadItems">
            <summary>
            Reads items from current position.
            </summary>
            <remarks>
            IMPORTANT! You must call <c>SeekToBegin</c> or <c>SeekToIndex</c> first to ensure correct current position. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyList`2.ReadIndexData">
            <summary>
            Reads index data at current position.
            </summary>
            <remarks>
            IMPORTANT! You must call <c>SeekToBegin</c> or <c>SeekToIndex</c> first to ensure correct current position. 
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2">
            <summary>
            Adjacency list writer.
            </summary>  
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2.StartNew">
            <summary>
            Starts new adjacency list: sets write position to zero and writes initial fictive index element.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2.Append(System.Int64@)">
            <summary>
            Sets write position to the end of regions and returns current list length (indices count).  
            </summary>
            <remarks>
            The list with explicitly specified length can not be appended.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2.BeginWriting">
            <summary>
            Begins writing items. 
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2.Write(`1)">
            <summary>
            Writes item.
            </summary>     
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2.EndWriting(`0)">
            <summary>
            Ends writing: sets <see cref="T:JetBrains.dotMemory.Core.Foundation.SubIndex"/> field to appropriate value and writes index element. 
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2.Flush">
            <summary>
            Flushes buffers of both indices and items regions.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter">
            <summary>
            The fluent-style API for <see cref="T:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2"/> construction.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter.Of``2(JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion,JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion,System.Int32)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2"/> from pair of <see cref="T:JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion"/>-s.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter.Of``2(JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection,JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection,System.Int32)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2"/> from pair of <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection"/> -
            creates <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedHeader"/> (if needed) and <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSectionData"/>.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter.Builder`2.ForIndex(System.Action{JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder{`0}})">
            <summary>
            Set-up index serializer.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter.Builder`2.ForItem(System.Action{JetBrains.dotMemory.Core.Foundation.JetStructSerializer.Builder{`1}})">
            <summary>
            Set-up item serializer.
            </summary>      
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter.Builder`2.WritePtrSize(JetBrains.Common.Util.PtrSize)">
            <summary>
            Writes pointer size.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter.Builder`2.Build(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Builds <see cref="T:JetBrains.dotMemory.Core.Foundation.StreamableAdjacencyListWriter`2"/>.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.StreamableReader">
            <summary>
            Stream-able reader of var-sized items.
            </summary>
            <remarks>
            Consists of two sections: index and data. The index section contains sub-index in data section where i-th item begins.
            The sub-indicies aren't necessary ordered. The item itself is responsible to handle its size (i.e. index section does not provide such info). 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableReader.BeginReadItem">
            <summary>
            Begins item reading.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableReader.BeginReadItem(JetBrains.dotMemory.Core.Foundation.StreamableIndex@)">
            <summary>
            Begins item reading.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableReader.EndReadItem">
            <summary>
            Ends item reading.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableReader.Of(JetBrains.Lifetimes.Lifetime,JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion,JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.StreamableReader"/> from pair of <see cref="T:JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion"/>-s.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableReader.Of(JetBrains.Lifetimes.Lifetime,JetBrains.Common.MemoryMappedStorage.IReadonlyMemoryMappedSection,JetBrains.Common.MemoryMappedStorage.IReadonlyMemoryMappedSection)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.StreamableReader"/> from pair of <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection"/> - creates <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSectionData"/>.
            </summary>    
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.AbstractStreamableWriter`1">
            <summary>
            Abstract stream-able writer of var-sized items.
            </summary>
            <remarks>
            Creates two sections: index and data. The index section contains sub-index in data section where i-th item begins.
            The item itself is responsible to handle its size (i.e. index section does not provide such info). 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.AbstractStreamableWriter`1.Append(System.Int64@)">
            <summary>
            Sets write position to the end and returns current length.  
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.AbstractStreamableWriter`1.BeginWriteItem">
            <summary>
            Begins item writing.
            </summary>
            <remarks>
            Actually does nothing, intended just for fluent style. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.AbstractStreamableWriter`1.EndWriteItem">
            <summary>
            Ends item writing.
            </summary>
            <remarks>
            Actually writes current offset into index part.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.AbstractStreamableWriter`1.Flush">
            <summary>
            Flushes buffers of both indices and items regions.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.StreamableWriter">
            <summary>
            Stream-able writer of var-sized items.
            </summary>  
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableWriter.Of(JetBrains.Lifetimes.Lifetime,JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion,JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.StreamableWriter"/> from pair of <see cref="T:JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion"/>-s.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamableWriter.Of(JetBrains.Lifetimes.Lifetime,JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection,JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.StreamableWriter"/> from pair of <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection"/> - creates <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSectionData"/>.
            </summary>    
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter">
            <summary>
            Stream-able writer of var-sized items with seek-back-and-write ability.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter.EndWriteItem">
            <summary>
            Ends item writing.
            </summary>
            <remarks>
            If no promises were issued by <see cref="M:JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter.DeferWrite``1(JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter.WritePromise{``0}@)"/> then instantly writes current offset into index part,
            otherwise index write is postponed until fulfilling all promises.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter.DeferWrite``1(JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter.WritePromise{``0}@)">
            <summary>
            Writes placeholder which will be filled later.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter.WritePromise`1.Fulfill(JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter,`0)">
            <summary>
            Writes actual data into placeholder reserved by <see cref="M:JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter.DeferWrite``1(JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter.WritePromise{``0}@)"/> method and then if all promises fulfilled writes postponed indices.
            </summary>
            <remarks>
            The current write position is restored after fulfilling promise.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter.Of(JetBrains.Lifetimes.Lifetime,JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion,JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter"/> from pair of <see cref="T:JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion"/>-s.
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter.Of(JetBrains.Lifetimes.Lifetime,JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection,JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection)">
            <summary>
            Constructs <see cref="T:JetBrains.dotMemory.Core.Foundation.PromisedStreamableWriter"/> from pair of <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSection"/> - creates <see cref="T:JetBrains.Common.MemoryMappedStorage.IMemoryMappedSectionData"/>.
            </summary>    
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.StreamPosition">
            <summary>
            Represents stream position (and length) in bytes. Negative values aren't allowed.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.StreamPosition.#ctor(System.Int32)">
            <summary>
            Is used to create <see cref="F:JetBrains.dotMemory.Core.Foundation.StreamPosition.Invalid"/> instance without loosing incoming value restriction in the public constructor
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.SubIndex">
            <summary>
            The persistable array index which is stored in another array like in adjacency list or similar structures.<br/>
            Might be either <c>Int32</c> or <c>Int64</c> depending on <c>JET_MODE_INT64_INDICES</c> symbol.
            </summary>
            <remarks>
            This is for future migration to long-indices.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.SubIndex64">
            <summary>
            Similar to <see cref="T:JetBrains.dotMemory.Core.Foundation.SubIndex"/> but has 64-bit size. Intended for new entities with long-indices.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.TreeAlgorithm">
            <summary>
            Generalized tree traversing algorithms: DFS/BFS. Designed to be used over huge trees. 
            </summary>
            <remarks>
            Uses technique 'generic on struct-s' which allows non-virtual interface call with possible inlining.
            When all generic arguments are value types the compiler generates code exactly for this constructed
            generic (like C++ does) and able to eliminate virtual calls on interfaces (because exact type is known)
            and even able to inline such calls. This gives the minimal performance overheads in runtime.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxAdjacencyList`2">
            <summary>
            Represents adjacency list data structure based on VxArray.
            Intentionally left non-sealed to allow type aliasing.<br/> 
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxArray`1">
            <summary>
            Represents array implemented over memory mapped file.
            The highly efficient for loading data from disk and for random read/write access by index.
            The VxArray might be effectively unloaded from memory if task paused.<br/>
            <br/>
            USE it for any potentially large and huge array of blitable struct-s. 
            </summary>
            <seealso cref="T:JetBrains.dotMemory.Core.Foundation.VxImmutableArray`1"/>
            <seealso cref="T:JetBrains.dotMemory.Core.Foundation.VxMutableArray`1"/>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxArray`1.DataPtr">
            <summary>
            Internal data pointer. Used for some optimizations.
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxArray`1.Length">
            <summary>
            Array length (in elements) as Int64. 
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArray`1.CreateMutable(JetBrains.Lifetimes.Lifetime,System.Int64,JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion)">
            <summary>
            Creates VxMutableArray with given length (in items) mapped to system swap file (if <paramref name="region"/> is <c>null</c>) or to file region.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArray`1.CreateMutable(JetBrains.Lifetimes.Lifetime,System.Int64,JetBrains.Util.dataStructures.Boxed{System.Int64},JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion)">
            <summary>
            Creates VxMutableArray with pre-allocated length (in items) mapped to to file region and trimmed to actual length on lifetime termination.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArray`1.CreateMutableWith``1(JetBrains.Lifetimes.Lifetime,System.Int64,JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion)">
            <summary>
            Creates VxMutableArray with given length (in items) and custom header mapped to system swap file (if <paramref name="region"/> is <c>null</c>) or to file region.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArray`1.CreateMutableWith``1(JetBrains.Lifetimes.Lifetime,System.Int64,JetBrains.Util.dataStructures.Boxed{System.Int64},JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion)">
            <summary>
            Creates VxMutableArray with custom header and pre-allocated length (in items) mapped to to file region and trimmed to actual length on lifetime termination.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArray`1.CreateMutableWithPreLength64(JetBrains.Lifetimes.Lifetime,System.Int64,JetBrains.dotMemory.Core.Foundation.JetWritableStreamRegion)">
            <summary>
            Creates VxMutableArray mapped to writable stream region with given length (in items).
            The length also stored as 64-bit value in header.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArray`1.CreateImmutable(JetBrains.Lifetimes.Lifetime,JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion)">
            <summary>
            Creates VxImmutableArray from readable stream region.
            The length (in items) calculated as <c>(region.Length/sizeof(T))</c>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArray`1.CreateImmutableWithPreLength32(JetBrains.Lifetimes.Lifetime,JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion)">
            <summary>
            Creates VxImmutableArray from readable stream region with 32-bit length (in items) stored as header.
            If stored length isn't equal to <c>((region.Length - 4)/sizeof(T))</c> then exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArray`1.CreateImmutableWithPreLength64(JetBrains.Lifetimes.Lifetime,JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion)">
            <summary>
            Creates VxImmutableArray from readable stream region with 64-bit length (in items) stored as header.
            If stored length isn't equal to <c>((region.Length - 8)/sizeof(T))</c> then exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArray`1.CreateImmutableWith``1(JetBrains.Lifetimes.Lifetime,JetBrains.dotMemory.Core.Foundation.JetReadableStreamRegion,System.Func{``0,System.Int64})">
            <summary>
            Creates VxImmutableArray from readable stream region with custom header.
            If length extracted from header by <paramref name="getLength"/> isn't equal to <c>((region.Length - sizeof(THeader))/sizeof(T))</c> then exception is thrown.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxImmutableArray`1">
            <summary>
            The immutable array based on memory mapped file.
            See <see cref="T:JetBrains.dotMemory.Core.Foundation.VxArray`1"/> for details.
            </summary>
            <remarks>
            It is recommended to call <see cref="M:JetBrains.dotMemory.Core.Foundation.VxFetchEx.Prefetch(JetBrains.Common.Util.IExecutionController,JetBrains.dotMemory.Core.Foundation.ISupportPrefetch[])"/> before intensive random access to force loading into memory. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxImmutableArray`1.GetSpecializedAccessor1">
            <summary>
            See comment over JET_MULTI_DOMAIN_STATIC define.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxImmutableArray`1.GetSpecializedAccessor4">
            <summary>
            See comment over JET_MULTI_DOMAIN_STATIC define.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxImmutableArray`1.GetSpecializedAccessor8">
            <summary>
            See comment over JET_MULTI_DOMAIN_STATIC define.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxImmutableArray`2">
            <summary>
            The immutable array based on memory mapped file prefixed by custom header.
            See <see cref="T:JetBrains.dotMemory.Core.Foundation.VxArray`1"/> for details.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxMutableArray`1">
            <summary>
            The mutable array based on memory mapped file.
            See <see cref="T:JetBrains.dotMemory.Core.Foundation.VxArray`1"/> for details.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxMutableArray`1.AsImmutable">
            <summary>
            Returns immutable array re-using storage of this array.
            </summary>
            <remarks>
            The original array becomes sealed and its modification isn't allowed. 
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxMutableArray`2">
            <summary>
            The mutable array based on memory mapped file prefixed by custom header.
            See <see cref="T:JetBrains.dotMemory.Core.Foundation.VxArray`1"/> for details.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxMutableArray`2.AsImmutable">
            <summary>
            Returns immutable array re-using storage of this array.
            </summary>
            <remarks>
            The original array becomes sealed and its modification isn't allowed. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArrayEx.ToJetMutableArray``1(JetBrains.dotMemory.Core.Foundation.VxArray{``0})">
            <summary>
            Copies elements from <see cref="T:JetBrains.dotMemory.Core.Foundation.VxArray`1"/> into <see cref="M:JetBrains.dotMemory.Core.Foundation.VxArrayEx.ToJetMutableArray``1(JetBrains.dotMemory.Core.Foundation.VxArray{``0})"/>.
            Commonly, this operation intended for a slice not the whole array.<br/>
            BE AWARE! This is potentially VERY expensive operation use it if absolutely sure what you do.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxArrayEx.ToJetImmutableArray``1(JetBrains.dotMemory.Core.Foundation.VxArray{``0})">
            <summary>
            Copies elements from <see cref="T:JetBrains.dotMemory.Core.Foundation.VxArray`1"/> into <see cref="M:JetBrains.dotMemory.Core.Foundation.VxArrayEx.ToJetImmutableArray``1(JetBrains.dotMemory.Core.Foundation.VxArray{``0})"/>.
            Commonly, this operation intended for a slice not the whole array.<br/>
            BE AWARE! This is potentially VERY expensive operation use it if absolutely sure what you do.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxCompactMap`2">
            <summary>
            The space optimized hash map with only 1 bits overhead for each entry built over VxArray. Implements so called "open-addressing" hash-map.
            </summary>
            <remarks>
            BE AWARE! It is slower than <c>Dictionary</c> about 2 times. Use for really large maps only.<br/>
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxCompactSet`1">
            <summary>
            The space optimized hash set with only 1 bits overhead for each entry built over VxArray. Implements so called "open-addressing" hash-set.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxFetchEx.Prefetch(JetBrains.Common.Util.IExecutionController,JetBrains.dotMemory.Core.Foundation.ISupportPrefetch[])">
            <summary>
            Prefetches the mapped array(s) from swap/file into memory.<br/>
            Returns dummy value to prevent code removal by optimizer.<br/>
            </summary>
            <remarks>
            IMPORTANT! It is highly recommended to call <c>Prefetch</c> just before intensive array read operation.<br/>
            <br/>
            NOTE: Currently, the <paramref name="controller"/> is used for yielding only.  
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxGraph`1">
            <summary>
            Represents graph data structure based on VxArray.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraph`1.GetSubIndex(`0)">
            <summary>
            Returns sub-index of first outgoing edge (reference) of given <paramref name="nodeNumber"/>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraph`1.GetSubRange(`0)">
            <summary>
            Returns range of sub-indices which is used to obtain outgoing edges (references) of given <paramref name="nodeNumber"/>.
            For usage example see <see cref="P:JetBrains.dotMemory.Core.Foundation.VxGraph`1.Item(JetBrains.dotMemory.Core.Foundation.SubIndex)"/>
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraph`1.IterateEdges(`0)">
            <summary>
            Iterate over all outgoing edges (references) of given <paramref name="nodeNumber"/>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraph`1.IterateEdges(JetBrains.dotMemory.Core.Foundation.Range{JetBrains.dotMemory.Core.Foundation.SubIndex})">
            <summary>
            Iterate over all outgoing edges (references) in given <paramref name="subRange"/>.<br/>
            The <paramref name="subRange"/> must be obtained via <see cref="M:JetBrains.dotMemory.Core.Foundation.VxGraph`1.GetSubRange(`0)"/> method.
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxGraph`1.Item(JetBrains.dotMemory.Core.Foundation.SubIndex)">
            <summary>
            Returns single outgoing edge (reference) at specified <paramref name="subIndex"/>.
            </summary>
            <example>
            <code>
            var subRange = graph.GetSubRange(currentNode);
            for (var j = subRange.Begin; j &lt; subRange.End; j++)
            {
              var referencedNode = graph[j];
              // ...
            }
            </code>
            </example>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraph`1.GetEdges(JetBrains.dotMemory.Core.Foundation.Range{JetBrains.dotMemory.Core.Foundation.SubIndex})">
            <summary>
            Returns all outgoing edges (references) in given <paramref name="subRange"/> as VxArray slice.<br/>
            The <paramref name="subRange"/> must be obtained via <see cref="M:JetBrains.dotMemory.Core.Foundation.VxGraph`1.GetSubRange(`0)"/> method.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxGraph`2">
            <summary>
            Represents graph with additional data associated with the edge based on VxArray.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraph`2.GetDetails(JetBrains.dotMemory.Core.Foundation.SubIndex)">
            <summary>
            Returns single reference details at specified <paramref name="subIndex"/>.
            </summary>
            <example>
            <code>
            var subRange = graph.GetSubRange(currentNode);
            for (var j = subRange.Begin; j &lt; subRange.End; j++)
            {
              var referencedNode = graph[j];
              var referenceDetails = graph.GetDetails(j);
              // ...
            }
            </code>
            </example>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraph`2.GetDetails(JetBrains.dotMemory.Core.Foundation.Range{JetBrains.dotMemory.Core.Foundation.SubIndex})">
            <summary>
            Returns details for each outgoing edge (reference) in given <paramref name="subRange"/> as VxArray slice.
            The <paramref name="subRange"/> must be obtained via <see cref="M:JetBrains.dotMemory.Core.Foundation.VxGraph`1.GetSubRange(`0)"/> method.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraph`2.IterateEdges(`0)">
            <summary>
            Iterate over all outgoing detailed edges (references) of given <paramref name="nodeNumber"/>.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraph`2.IterateEdges(JetBrains.dotMemory.Core.Foundation.Range{JetBrains.dotMemory.Core.Foundation.SubIndex})">
            <summary>
            Iterate over all outgoing detailed edges (references) in given <paramref name="subRange"/>.<br/>
            The <paramref name="subRange"/> must be obtained via <see cref="M:JetBrains.dotMemory.Core.Foundation.VxGraph`1.GetSubRange(`0)"/> method.
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Dfs``1(JetBrains.dotMemory.Core.Foundation.VxGraph{``0},JetBrains.Util.Misc.JetProgress,JetBrains.dotMemory.Core.Foundation.JetImmutableArray{``0},JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result{``0},JetBrains.dotMemory.Core.Foundation.VxImmutableBitArray)">
             <summary>
             Generalized depth-first-search algorithm.<br/>
             BE AWARE: there are might be several valid DFS trees for the same graph depending of node processing order. 
             </summary>
             <remarks>
             IMPORTANT! If <typeparamref name="T"/> is a value type then performance will be the same as of
             specialized implementation (interface calls on value types are successfully inlined by compiler).
            
             *  Method |    Mean |    Error |   StdDev |
             * ------- |--------:|---------:|---------:|
             *   DfsV1 | 4.899 s | 0.0164 s | 0.0153 s |
             *   DfsV2 | 1.644 s | 0.0080 s | 0.0071 s |
             *   VxDfs | 1.313 s | 0.0111 s | 0.0103 s |
             </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Dfs``2(JetBrains.dotMemory.Core.Foundation.VxGraph{``0},JetBrains.dotMemory.Core.Foundation.ProgressCallback,JetBrains.dotMemory.Core.Foundation.JetImmutableArray{``0},``1,JetBrains.dotMemory.Core.Foundation.VxImmutableBitArray)">
            <summary>
            Generalized depth-first-search algorithm with callbacks.
            </summary>
            <remarks>
            IMPORTANT! If both <typeparamref name="T"/> and <typeparamref name="TCallback"/> are a value types then performance will be the same as of
            specialized implementation (interface calls on value types are successfully inlined by compiler).
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Bfs``1(JetBrains.dotMemory.Core.Foundation.VxGraph{``0},JetBrains.dotMemory.Core.Foundation.ProgressCallback,JetBrains.dotMemory.Core.Foundation.JetImmutableArray{``0},JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result{``0})">
            <summary>
            Generalized breadth-first-search algorithm.
            </summary>
            <remarks>
            IMPORTANT! If <typeparamref name="T"/> is a value type then performance will be the same as of
            specialized implementation (interface calls on value types are successfully inlined by compiler).
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result`1">
            <summary>
            Requested result of DFS/BFS.
            </summary>
            <remarks>
            NOTE: Temporary JetArray-s are used for result store (to prevent avalanche changes), but in future they will be migrated to VxArray-s. 
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result`1.Mark">
            <summary>
            Accessibility marks.
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result`1.SpanningTree">
            <summary>
            Spanning tree according to traverse order. The <c>SpanningTree[n]</c> is a parent of n-th node. 
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result`1.SpanningTreeReferenceIndex">
            <summary>
            The reference index for appropriate node in <c>SpanningTree</c>.
            The <c>SpanningTreeReferenceIndex[n]</c> is an index of reference from parent to n-th node,
            i.e. <c>graph[SpanningTreeReferenceIndex[n]] == (TNode)n</c> 
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result`1.SpanningTreeMask">
            <summary>
            The references mask: true if reference is a part of spanning tree and false otherwise.
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result`1.PreOrder">
            <summary>
            Nodes in pre-traverse order.
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result`1.PostOrder">
            <summary>
            Nodes in post-traverse order.
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result`1.EnterTime">
            <summary>
            
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result`1.ExitTime">
            <summary>
            
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxGraphAlgorithms.Result`1.Level">
            <summary>
            Depth level.
            </summary>
            <remarks>
            CAN BE NULL if appropriate collect option was not specified.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxOrderedTree`1">
            <summary>
            Generic down-ward tree based on memory-mapped array (aka <see cref="T:JetBrains.dotMemory.Core.Foundation.VxArray`1"/>).
            Tree format: for each node children range are stored, i.e. one-level children always are neighbours in underlying array, so they can be (re-)ordered.
            Provides the minimal performance overhead on accessing nodes and minimal memory footprint for each node.
            But payload can be unmanaged value type only. 
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxPartialArray`1">
            <summary>
            The VxArray-like wrapper over <see cref="T:JetBrains.Common.MemoryMappedStorage.IReadonlyMemoryMappedSectionData"/>.
            In distinct of <see cref="T:JetBrains.dotMemory.Core.Foundation.VxArray`1"/> maps into memory only part of whole dataset.
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.Foundation.VxPartialArray`1.Item(System.Int64)">
            <summary>
            Returns element by index.
            </summary>
            <remarks>
            BE AWARE: The intensive random access is inefficient for such kind of array due to possible re-mappings.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxPartialArray`1.Enumerate(System.Int64,System.Int64)">
            <summary>
            Returns <see cref="T:JetBrains.dotMemory.Core.Foundation.VxPartialArray`1.Enumerable"/> for given range.
            </summary>
            <remarks>
            The enumerator will use temporary lifetime which is terminated on enumerator dispose.
            The enumerator MUST BE disposed BEFORE underlying section data lifetime termination. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxPartialArray`1.Enumerate(JetBrains.dotMemory.Core.Foundation.Range{System.Int64})">
            <summary>
            See <see cref="M:JetBrains.dotMemory.Core.Foundation.VxPartialArray`1.Enumerate(System.Int64,System.Int64)"/>
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxPartialArray`1.Slice(JetBrains.Lifetimes.Lifetime,System.Int64,System.Int64)">
            <summary>
            Returns slice of this array.
            </summary>
            <remarks>
            The slice is bound to provided <paramref name="lifetime"/> which MUST BE terminated BEFORE underlying section data lifetime.<br/>
            <br/>
            If possible, the range mapped continuously and VxArray is created over this mapped view, otherwise temporary VxArray is created and items have copied to it. 
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Foundation.VxPartialArray`1.Slice(JetBrains.Lifetimes.Lifetime,JetBrains.dotMemory.Core.Foundation.Range{System.Int64})">
            <summary>
            See <see cref="M:JetBrains.dotMemory.Core.Foundation.VxPartialArray`1.Slice(JetBrains.Lifetimes.Lifetime,System.Int64,System.Int64)"/>
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Foundation.VxTree`1">
            <summary>
            Generic down-ward tree based on memory-mapped array (aka <see cref="T:JetBrains.dotMemory.Core.Foundation.VxArray`1"/>).
            Tree format: for each node first child and next sibling node are stored.
            Provides the minimal performance overhead on accessing nodes and minimal memory footprint for each node.
            But payload can be unmanaged value type only. 
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.IContinuableExceptionsCatcher">
            <summary>
            The catcher interface for continuable exceptions to support partial success feature.
            E.g. <c>ClrDumpImporter</c> might successfully import some of runtimes from process dump, but fail for other ones.
            IContinuableExceptionsCatcher intended to provide partial success feedback to the user. 
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.IEntityReference`1">
            <summary>
            DEPRECATED: Use <see cref="T:JetBrains.dotMemory.Core.Foundation.IEntityRef`1"/> in new code instead.
            @Ilya.Ivanov
            </summary>  
        </member>
        <member name="M:JetBrains.dotMemory.Core.IFactory.Resolve(System.Object,System.Type,BeatyBit.Armature.Core.IBuildStackPattern)">
             <summary>
             Resolves <paramref name="type"/> instance via IoC container.
             Might return <c>null</c> if type registered as null-instance.
             If type isn't registered then exception <c>NotResolvedException</c> is thrown.
            
             <seealso cref="T:JetBrains.dotMemory.Core.FactoryExtension"/>
             </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.LongDependencyAttribute">
            <summary>
            Denotes `long dependency` - dependency which requires a some time to be resolved. 
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.LongDependencyAttribute.IsTransient">
            <summary>
            If <c>true</c> then resolved dependency lives while building only, i.e. it must not be neither stored as member nor passed to any async activity.<br/>
            <br/>
            If <c>false</c> (default) then resolved dependency has bound to owner's lifetime.
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.LongDependencyAttribute.Steps">
            <summary>
            Progress steps (default = 1).
            </summary>
        </member>
        <member name="P:JetBrains.dotMemory.Core.IMemoryAwarePolicy.IsEconomyMode">
            <summary>
            Indicates whether 'economy' mode is active.<br/>
            In economy mode memory expensive background tasks should be disabled and auto-started tasks should be switched to manual-start mode.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.NamedDisposable">
            <summary>
            The helper stuff for lifetime debugging.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.ProgressNotifier">
            <summary>
            ProgressNotifier
            </summary>
            <remarks>
            Note: <c>INotifyPropertyChanged</c> implemented to prevent 'WPF binding leak' only.
            </remarks>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Settings.IApplicationSettings">
            <summary>
            Storage for application (user) settings
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Settings.IStateSettings">
            <summary>
            Storage for the application state in contrast with application (user) settings
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Settings.ISharedStateSettings">
            <summary>
            Use it from entities with lifetime doesn't linked whith any probing. Data will be shared among all entites in the scope
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Settings.IProbingScopeStateSettings">
            <summary>
            Use it from entities with lifetime controlled by a probing.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Structure.AbstractFilesStructure">
            <summary>
            The base classes for file system like structure.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Structure.Rooted`1">
            <summary>
            Represents rooted (convertible to absolute path) files-based structural element.
            </summary>  
        </member>
        <member name="M:JetBrains.dotMemory.Core.Structure.Rooted`1.AbsolutePathOf(System.Func{`0,JetBrains.dotMemory.Core.Structure.AbstractFilesStructure.Element})">
            <summary>
            Returns absolute path of structural sub-element. If sub element returned by <paramref name="selector"/> is <c>null</c> then method also returns <c>null</c>. 
            </summary>    
        </member>
        <member name="M:JetBrains.dotMemory.Core.Structure.Rooted`1.RelativePathOf(System.Func{`0,JetBrains.dotMemory.Core.Structure.AbstractFilesStructure.Element})">
            <summary>
            Returns relative path of structural sub-element against this element. If sub element returned by <paramref name="selector"/> is <c>null</c> then method also returns <c>null</c>. 
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Structure.Rooted`1.ToRooted``1(System.Func{`0,``0})">
            <summary>
            Returns rooted structural sub-element. If sub element returned by <paramref name="selector"/> is <c>null</c> then method also returns <c>null</c>. 
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Structure.Rooted`1.ToAbsolutePath">
            <summary>
            Returns absolute path of this structural element 
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.Structure.Rooted`1.ToRelativePath">
            <summary>
            Returns relative path of this structural element. 
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Tasks.IBackgroundTaskGroup">
            <summary>
            Marker interface for group of background tasks.
            </summary>
            <remarks>
            Used in dotMemory for tasks which aren't explicitly bound to any view-model,
            e.g. for pipes which produce statistics on thumbnails.<br/>
            The background group itself is never brought to foreground, but if some foreground task attaches background task,
            then background one will be brought to foreground.
            </remarks>
        </member>
        <member name="M:JetBrains.dotMemory.Core.TimeSpanEx.FromMilliseconds(System.Double)">
            <summary>
            The alternative of original <see cref="M:System.TimeSpan.FromMilliseconds(System.Double)"/> which looses the fraction part.
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.TypeInferencing._T">
            <summary>
            The helper stuff for auto type argument inferencing (see commented example below).
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.Uid">
            <summary>
            Just an unique identifier based on Guid which can be used anywhere where <see cref="T:JetBrains.dotMemory.Core.ID" /> is needed
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.WaitHandleExtension">
            <summary>
            Exception which user can report to us is better then deadlock, so wait for any event with timeout
            </summary>
        </member>
        <member name="T:JetBrains.dotMemory.Core.WithCatch`1">
            <summary>
            This class is used to be able to handle exceptions occurred on DataPipes transform call by the clien passing a value to the pipe
            Create data provider of type <see cref="T:JetBrains.dotMemory.Core.WithCatch`1" /> and call value.Catch in any transforms
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.WithCatchExtension.Catch``2(JetBrains.dotMemory.Core.WithCatch{``0},``1,System.Func{``0,``1})">
            <summary>
            This method can be called safely on 'null' if you need to pipe null value
            </summary>
        </member>
        <member name="M:JetBrains.dotMemory.Core.ZipUtil.CreateEntryWithFixedPath(System.IO.Compression.ZipArchive,System.String,System.IO.Compression.CompressionLevel)">
            <summary>
            Creates an empty entry that has the specified entry name and compression level in the zip archive.
            This method changes entry name path separator from backslash to forward slash to ensure that archive is compatible with Unix and sticks to the ZIP File Format Specification 4.4.17.1
            </summary>
        </member>
    </members>
</doc>
