예제 #1
0
 private static void Using <TLink>(Action <ILinks <TLink> > action)
 {
     using (var dataMemory = new HeapResizableDirectMemory())
         using (var indexMemory = new HeapResizableDirectMemory())
             using (var memory = new SplitMemoryLinks <TLink>(dataMemory, indexMemory))
             {
                 action(memory);
             }
 }
예제 #2
0
        private static void UsingWithExternalReferences <TLink>(Action <ILinks <TLink> > action)
        {
            var contants = new LinksConstants <TLink>(enableExternalReferencesSupport: true);

            using (var dataMemory = new HeapResizableDirectMemory())
                using (var indexMemory = new HeapResizableDirectMemory())
                    using (var memory = new SplitMemoryLinks <TLink>(dataMemory, indexMemory, SplitMemoryLinks <TLink> .DefaultLinksSizeStep, contants))
                    {
                        action(memory);
                    }
        }
        public static void Setup()
        {
            var dataMemory  = new HeapResizableDirectMemory();
            var indexMemory = new HeapResizableDirectMemory();

            _splitMemory      = new SplitMemoryLinks <uint>(dataMemory, indexMemory);
            _splitMemoryLinks = _splitMemory.DecorateWithAutomaticUniquenessAndUsagesResolution();

            var memory = new HeapResizableDirectMemory();

            _unitedMemory      = new UnitedMemoryLinks <uint>(memory);
            _unitedMemoryLinks = _unitedMemory.DecorateWithAutomaticUniquenessAndUsagesResolution();
        }