protected override void SetPointers(IResizableDirectMemory memory)
 {
     _header                = (LinksHeader <ulong> *)memory.Pointer;
     _links                 = (RawLink <ulong> *)memory.Pointer;
     SourcesTreeMethods     = _createSourceTreeMethods();
     TargetsTreeMethods     = _createTargetTreeMethods();
     UnusedLinksListMethods = new UInt64UnusedLinksListMethods(_links, _header);
 }
 protected override void SetPointers(IResizableDirectMemory memory)
 {
     _links                 = (byte *)memory.Pointer;
     _header                = _links;
     SourcesTreeMethods     = _createSourceTreeMethods();
     TargetsTreeMethods     = _createTargetTreeMethods();
     UnusedLinksListMethods = new UnusedLinksListMethods <TLink>(_links, _header);
 }
 public UInt32UnitedMemoryLinks(IResizableDirectMemory memory, long memoryReservationStep, LinksConstants <uint> constants, IndexTreeType indexTreeType) : base(memory, memoryReservationStep, constants)
 {
     if (indexTreeType == IndexTreeType.SizeBalancedTree)
     {
         _createSourceTreeMethods = () => new UInt32LinksSourcesSizeBalancedTreeMethods(Constants, _links, _header);
         _createTargetTreeMethods = () => new UInt32LinksTargetsSizeBalancedTreeMethods(Constants, _links, _header);
     }
     else
     {
         _createSourceTreeMethods = () => new UInt32LinksSourcesRecursionlessSizeBalancedTreeMethods(Constants, _links, _header);
         _createTargetTreeMethods = () => new UInt32LinksTargetsRecursionlessSizeBalancedTreeMethods(Constants, _links, _header);
     }
     Init(memory, memoryReservationStep);
 }
 public UnitedMemoryLinks(IResizableDirectMemory memory, long memoryReservationStep, LinksConstants <TLink> constants, IndexTreeType indexTreeType) : base(memory, memoryReservationStep, constants)
 {
     if (indexTreeType == IndexTreeType.SizedAndThreadedAVLBalancedTree)
     {
         _createSourceTreeMethods = () => new LinksSourcesAvlBalancedTreeMethods <TLink>(Constants, _links, _header);
         _createTargetTreeMethods = () => new LinksTargetsAvlBalancedTreeMethods <TLink>(Constants, _links, _header);
     }
     else
     {
         _createSourceTreeMethods = () => new LinksSourcesSizeBalancedTreeMethods <TLink>(Constants, _links, _header);
         _createTargetTreeMethods = () => new LinksTargetsSizeBalancedTreeMethods <TLink>(Constants, _links, _header);
     }
     Init(memory, memoryReservationStep);
 }
 protected override void SetPointers(IResizableDirectMemory dataMemory, IResizableDirectMemory indexMemory)
 {
     _linksDataParts  = (RawLinkDataPart <TLink> *)dataMemory.Pointer;
     _linksIndexParts = (RawLinkIndexPart <TLink> *)indexMemory.Pointer;
     _header          = (LinksHeader <TLink> *)indexMemory.Pointer;
     if (_useLinkedList)
     {
         InternalSourcesListMethods = new UInt32InternalLinksSourcesLinkedListMethods(Constants, _linksDataParts, _linksIndexParts);
     }
     else
     {
         InternalSourcesTreeMethods = _createInternalSourceTreeMethods();
     }
     ExternalSourcesTreeMethods = _createExternalSourceTreeMethods();
     InternalTargetsTreeMethods = _createInternalTargetTreeMethods();
     ExternalTargetsTreeMethods = _createExternalTargetTreeMethods();
     UnusedLinksListMethods     = new UInt32UnusedLinksListMethods(_linksDataParts, _header);
 }
 public UInt32SplitMemoryLinks(IResizableDirectMemory dataMemory, IResizableDirectMemory indexMemory, long memoryReservationStep, LinksConstants <TLink> constants, IndexTreeType indexTreeType, bool useLinkedList) : base(dataMemory, indexMemory, memoryReservationStep, constants, useLinkedList)
 {
     if (indexTreeType == IndexTreeType.SizeBalancedTree)
     {
         _createInternalSourceTreeMethods = () => new UInt32InternalLinksSourcesSizeBalancedTreeMethods(Constants, _linksDataParts, _linksIndexParts, _header);
         _createExternalSourceTreeMethods = () => new UInt32ExternalLinksSourcesSizeBalancedTreeMethods(Constants, _linksDataParts, _linksIndexParts, _header);
         _createInternalTargetTreeMethods = () => new UInt32InternalLinksTargetsSizeBalancedTreeMethods(Constants, _linksDataParts, _linksIndexParts, _header);
         _createExternalTargetTreeMethods = () => new UInt32ExternalLinksTargetsSizeBalancedTreeMethods(Constants, _linksDataParts, _linksIndexParts, _header);
     }
     else
     {
         _createInternalSourceTreeMethods = () => new UInt32InternalLinksSourcesRecursionlessSizeBalancedTreeMethods(Constants, _linksDataParts, _linksIndexParts, _header);
         _createExternalSourceTreeMethods = () => new UInt32ExternalLinksSourcesRecursionlessSizeBalancedTreeMethods(Constants, _linksDataParts, _linksIndexParts, _header);
         _createInternalTargetTreeMethods = () => new UInt32InternalLinksTargetsRecursionlessSizeBalancedTreeMethods(Constants, _linksDataParts, _linksIndexParts, _header);
         _createExternalTargetTreeMethods = () => new UInt32ExternalLinksTargetsRecursionlessSizeBalancedTreeMethods(Constants, _linksDataParts, _linksIndexParts, _header);
     }
     Init(dataMemory, indexMemory);
 }
 public UInt32SplitMemoryLinks(IResizableDirectMemory dataMemory, IResizableDirectMemory indexMemory, long memoryReservationStep, LinksConstants <TLink> constants) : this(dataMemory, indexMemory, memoryReservationStep, constants, IndexTreeType.Default, useLinkedList : true)
 {
 }
 public UInt32SplitMemoryLinks(IResizableDirectMemory dataMemory, IResizableDirectMemory indexMemory) : this(dataMemory, indexMemory, DefaultLinksSizeStep)
 {
 }
 public SplitMemoryLinks(IResizableDirectMemory dataMemory, IResizableDirectMemory indexMemory, long memoryReservationStep) : this(dataMemory, indexMemory, memoryReservationStep, Default <LinksConstants <TLink> > .Instance, IndexTreeType.Default, useLinkedList : true)
 {
 }
 public UInt64UnitedMemoryLinks(IResizableDirectMemory memory, long memoryReservationStep) : this(memory, memoryReservationStep, Default <LinksConstants <ulong> > .Instance, IndexTreeType.Default)
 {
 }
 public UInt64UnitedMemoryLinks(IResizableDirectMemory memory) : this(memory, DefaultLinksSizeStep)
 {
 }