public Memory(IEnumerable <TElement> datasource, Func <TElement, TKey> indexSelector, bool rootMemory) { KeyTupleComparerRegister.RegisterDynamic <TKey>(); var comparer = MasterMemoryComparer <TKey> .Default; this.comparers = MasterMemoryComparer <TKey> .DefaultArray; this.orderedData = FastSort(datasource, indexSelector, comparer); this.indexSelector = indexSelector; this.rootMemory = rootMemory; }
internal Memory(byte[] bytes, int offset, DirtyTracker tracker, Func <TElement, TKey> indexSelector) { KeyTupleComparerRegister.RegisterDynamic <TKey>(); var formatter = ZeroFormatter.Formatters.Formatter <DefaultResolver, IList <TElement> > .Default; int size; this.orderedData = formatter.Deserialize(ref bytes, offset, tracker, out size); this.indexSelector = indexSelector; this.comparers = MasterMemoryComparer <TKey> .DefaultArray; this.rootMemory = true; }