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) { }