protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); LazinatorSortedLinkedList <T> typedClone = (LazinatorSortedLinkedList <T>)clone; return(typedClone); }
private void VerifyCloningEquivalence(ILazinator lazinator, IncludeChildrenMode includeChildrenMode) { var clonedWithBuffer = lazinator.CloneLazinator(includeChildrenMode, CloneBufferOptions.IndependentBuffers); var clonedNoBuffer = lazinator.CloneLazinator(includeChildrenMode, CloneBufferOptions.NoBuffer); string clonedWithBufferString = new HierarchyTree(clonedWithBuffer).ToString(); string clonedNoBufferString = new HierarchyTree(clonedNoBuffer).ToString(); try { LazinatorUtilities.ConfirmHierarchiesEqual(clonedWithBuffer, clonedNoBuffer); } catch (Exception ex) { int i = 0; if (clonedNoBuffer.IsStruct) { clonedNoBuffer = clonedNoBuffer.CloneLazinator(); } for (; i < Math.Min(clonedWithBuffer.LazinatorMemoryStorage.Length, clonedNoBuffer.LazinatorMemoryStorage.Length); i++) { if (clonedWithBuffer.LazinatorMemoryStorage.OnlyMemory.Span[i] != clonedNoBuffer.LazinatorMemoryStorage.OnlyMemory.Span[i]) { break; } } throw new Exception("Verify cloning failed at position " + i + ". See inner exception.", ex); } }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); ConcreteFromGenericFromBase typedClone = (ConcreteFromGenericFromBase)clone; return(typedClone); }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); LazinatorFastReadListInt32 typedClone = (LazinatorFastReadListInt32)clone; return(typedClone); }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); InheritingClosedGeneric typedClone = (InheritingClosedGeneric)clone; typedClone.YetAnotherInt = YetAnotherInt; return(typedClone); }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); MemoryBlockInsetLoadingInfo typedClone = (MemoryBlockInsetLoadingInfo)clone; typedClone.LoadingOffset = LoadingOffset; return(typedClone); }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); MemorySegmentCollection typedClone = (MemorySegmentCollection)clone; typedClone.Segments = CloneOrChange_List_GMemoryBlockIDAndSlice_g(Segments, l => l?.CloneLazinator(includeChildrenMode, CloneBufferOptions.NoBuffer), false); return(typedClone); }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); Concrete6 typedClone = (Concrete6)clone; typedClone.IntList6 = CloneOrChange_List_Gint_g(IntList6, l => l?.CloneLazinator(includeChildrenMode, CloneBufferOptions.NoBuffer), false); return(typedClone); }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); ClosedGeneric typedClone = (ClosedGeneric)clone; typedClone.AnotherPropertyAdded = AnotherPropertyAdded; return(typedClone); }
protected override int ConvertFromBytesAfterHeader(IncludeChildrenMode includeChildrenMode, int serializedVersionNumber, ref int bytesSoFar) { ReadOnlySpan <byte> span = LazinatorMemoryStorage.InitialReadOnlyMemory.Span; ConvertFromBytesForPrimitiveProperties(span, includeChildrenMode, serializedVersionNumber, ref bytesSoFar); int lengthForLengths = 0; int totalChildrenSize = ConvertFromBytesForChildProperties(span, includeChildrenMode, serializedVersionNumber, bytesSoFar + lengthForLengths, ref bytesSoFar); return(bytesSoFar + totalChildrenSize); }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); Derived_DotNetList_Nested_NonLazinator typedClone = (Derived_DotNetList_Nested_NonLazinator)clone; typedClone.MyLevel2Int = MyLevel2Int; typedClone.MyLevel2ListNestedNonLazinatorType = CloneOrChange_List_GList_GNonLazinatorClass_g_g(MyLevel2ListNestedNonLazinatorType, l => l?.CloneLazinator(includeChildrenMode, CloneBufferOptions.NoBuffer), false); return(typedClone); }
public WNullableTimeSpan(LazinatorMemory serializedBytes, ILazinator parent = null, IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren, int?lazinatorObjectVersion = null) : this() { if (lazinatorObjectVersion != null) { LazinatorObjectVersion = (int)lazinatorObjectVersion; } OriginalIncludeChildrenMode = originalIncludeChildrenMode; LazinatorParents = new LazinatorParentsCollection(parent); DeserializeLazinator(serializedBytes); HasChanged = false; DescendantHasChanged = false; }
public ContainerForNullableStructInAnotherNamespace(LazinatorMemory serializedBytes, ILazinator parent = null, IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren, int?lazinatorObjectVersion = null) { if (lazinatorObjectVersion != null) { LazinatorObjectVersion = (int)lazinatorObjectVersion; } OriginalIncludeChildrenMode = originalIncludeChildrenMode; LazinatorParents = new LazinatorParentsCollection(parent); DeserializeLazinator(serializedBytes); HasChanged = false; DescendantHasChanged = false; }
public ExampleInterfaceContainer(LazinatorMemory serializedBytes, ILazinator parent = null, IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren, int?lazinatorObjectVersion = null) { if (lazinatorObjectVersion != null) { LazinatorObjectVersion = (int)lazinatorObjectVersion; } OriginalIncludeChildrenMode = originalIncludeChildrenMode; LazinatorParents = new LazinatorParentsCollection(parent); DeserializeLazinator(serializedBytes); HasChanged = false; DescendantHasChanged = false; }
public LazinatorSerializationOptions(IncludeChildrenMode includeChildrenMode, bool verifyCleanness, bool updateStoredBuffer, bool serializeDiffs, int nextBufferThreshold = int.MaxValue, int serializeDiffsThreshold = DefaultSerializeDiffsThreshold) { IncludeChildrenMode = includeChildrenMode; VerifyCleanness = verifyCleanness; UpdateStoredBuffer = updateStoredBuffer; SerializeDiffs = serializeDiffs; NextBufferThreshold = nextBufferThreshold; SerializeDiffsThreshold = serializeDiffsThreshold; if (IncludeChildrenMode != IncludeChildrenMode.IncludeAllChildren && updateStoredBuffer) { ThrowHelper.ThrowCannotUpdateStoredBuffer(); } }
public override ILazinator CloneLazinator(IncludeChildrenMode includeChildrenMode = IncludeChildrenMode.IncludeAllChildren, CloneBufferOptions cloneBufferOptions = CloneBufferOptions.IndependentBuffers) { LazinatorFastReadListInt32 clone; if (cloneBufferOptions == CloneBufferOptions.NoBuffer) { clone = new LazinatorFastReadListInt32(includeChildrenMode); clone = (LazinatorFastReadListInt32)AssignCloneProperties(clone, includeChildrenMode); } else { LazinatorMemory bytes = EncodeOrRecycleToNewBuffer(includeChildrenMode, OriginalIncludeChildrenMode, IsDirty, DescendantIsDirty, false, LazinatorMemoryStorage, this); clone = new LazinatorFastReadListInt32(bytes); } return(clone); }
public override ILazinator CloneLazinator(IncludeChildrenMode includeChildrenMode = IncludeChildrenMode.IncludeAllChildren, CloneBufferOptions cloneBufferOptions = CloneBufferOptions.IndependentBuffers) { Derived_DotNetList_Nested_NonLazinator clone; if (cloneBufferOptions == CloneBufferOptions.NoBuffer) { clone = new Derived_DotNetList_Nested_NonLazinator(includeChildrenMode); clone.LazinatorObjectVersion = LazinatorObjectVersion; clone = (Derived_DotNetList_Nested_NonLazinator)AssignCloneProperties(clone, includeChildrenMode); } else { LazinatorMemory bytes = EncodeOrRecycleToNewBuffer(includeChildrenMode, OriginalIncludeChildrenMode, IsDirty, DescendantIsDirty, false, LazinatorMemoryStorage, this); clone = new Derived_DotNetList_Nested_NonLazinator(bytes); } return(clone); }
public override ILazinator CloneLazinator(IncludeChildrenMode includeChildrenMode = IncludeChildrenMode.IncludeAllChildren, CloneBufferOptions cloneBufferOptions = CloneBufferOptions.IndependentBuffers) { InheritingClosedGeneric clone; if (cloneBufferOptions == CloneBufferOptions.NoBuffer) { clone = new InheritingClosedGeneric(includeChildrenMode); clone.LazinatorObjectVersion = LazinatorObjectVersion; clone = (InheritingClosedGeneric)AssignCloneProperties(clone, includeChildrenMode); } else { LazinatorMemory bytes = EncodeOrRecycleToNewBuffer(includeChildrenMode, OriginalIncludeChildrenMode, IsDirty, DescendantIsDirty, false, LazinatorMemoryStorage, this); clone = new InheritingClosedGeneric(bytes); } return(clone); }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); LazinatorLocationAwareTree <T> typedClone = (LazinatorLocationAwareTree <T>)clone; if (includeChildrenMode != IncludeChildrenMode.ExcludeAllChildren && includeChildrenMode != IncludeChildrenMode.IncludeOnlyIncludableChildren) { if (Locations == null) { typedClone.Locations = null; } else { typedClone.Locations = (LazinatorDictionary <T, LazinatorList <WInt32> >)Locations.CloneLazinator(includeChildrenMode, CloneBufferOptions.NoBuffer); } } return(typedClone); }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); GenericFromBase <T> typedClone = (GenericFromBase <T>)clone; typedClone.MyInt = MyInt; if (includeChildrenMode != IncludeChildrenMode.ExcludeAllChildren && includeChildrenMode != IncludeChildrenMode.IncludeOnlyIncludableChildren) { if (MyT == null) { typedClone.MyT = default(T); } else { typedClone.MyT = (T)MyT.CloneLazinator(includeChildrenMode, CloneBufferOptions.NoBuffer); } } return(typedClone); }
protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); ExampleChildInherited typedClone = (ExampleChildInherited)clone; typedClone.MyInt = MyInt; if (includeChildrenMode != IncludeChildrenMode.ExcludeAllChildren && includeChildrenMode != IncludeChildrenMode.IncludeOnlyIncludableChildren) { if (MyGrandchildInInherited == null) { typedClone.MyGrandchildInInherited = null; } else { typedClone.MyGrandchildInInherited = (ExampleGrandchild)MyGrandchildInInherited.CloneLazinator(includeChildrenMode, CloneBufferOptions.NoBuffer); } } return(typedClone); }
public ExampleInterfaceContainer(IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren) { OriginalIncludeChildrenMode = originalIncludeChildrenMode; }
public DotNetQueue_Lazinator(IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren) { OriginalIncludeChildrenMode = originalIncludeChildrenMode; }
public ContainerForExampleStructWithoutClass(IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren) { OriginalIncludeChildrenMode = originalIncludeChildrenMode; }
public WFloat(IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren) : this() { OriginalIncludeChildrenMode = originalIncludeChildrenMode; }
public TwoByteLengthsContainer(IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren) { OriginalIncludeChildrenMode = originalIncludeChildrenMode; }
public WNullableInt32(IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren) : this() { OriginalIncludeChildrenMode = originalIncludeChildrenMode; }
public RecursiveExample(IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren) { OriginalIncludeChildrenMode = originalIncludeChildrenMode; }
public NonLazinatorInterchangeStruct(IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren) : this() { OriginalIncludeChildrenMode = originalIncludeChildrenMode; }
public ExampleStructContainingStruct(IncludeChildrenMode originalIncludeChildrenMode = IncludeChildrenMode.IncludeAllChildren) : this() { OriginalIncludeChildrenMode = originalIncludeChildrenMode; }