Version 3.1.1.0

FastDeepCopier class

Namespace: Sirenix.OdinInspector.Editor.Internal
Assembly: Sirenix.OdinInspector.Editor
public static class FastDeepCopier
Inheritance
  • System.Object
  • FastDeepCopier

Methods

ClaimCachedReferenceDict()
public static Dictionary<object, object> ClaimCachedReferenceDict()
Returns
System.Collections.Generic.Dictionary<System.Object, System.Object>

CopyMultiDimensionalArray<T>(Array, Array, Dictionary<Object, Object>)
public static void CopyMultiDimensionalArray<T>(Array from, Array to, Dictionary<object, object> references)
Parameters
System.Array from

System.Array to

System.Collections.Generic.Dictionary<System.Object, System.Object> references

Type Parameters
T

DeepCopy<T>(T, Boolean)
public static T DeepCopy<T>(T instance, bool referenceTracking = true)
Parameters
T instance

System.Boolean referenceTracking

Returns
T

Type Parameters
T

DeepCopyFromToClass<T>(T, T, Boolean)
public static void DeepCopyFromToClass<T>(T from, T to, bool referenceTracking = true)
    where T : class
Parameters
T from

T to

System.Boolean referenceTracking

Type Parameters
T

DeepCopyFromToClassWithManualReferences<T>(T, T, Dictionary<Object, Object>)
public static void DeepCopyFromToClassWithManualReferences<T>(T from, T to, Dictionary<object, object> references)
    where T : class
Parameters
T from

T to

System.Collections.Generic.Dictionary<System.Object, System.Object> references

Type Parameters
T

DeepCopyFromToStruct<T>(ref T, ref T, Boolean)
public static void DeepCopyFromToStruct<T>(ref T from, ref T to, bool referenceTracking = true)
    where T : struct
Parameters
T from

T to

System.Boolean referenceTracking

Type Parameters
T

DeepCopyFromToStructWithManualReferences<T>(ref T, ref T, Dictionary<Object, Object>)
public static void DeepCopyFromToStructWithManualReferences<T>(ref T from, ref T to, Dictionary<object, object> references)
    where T : struct
Parameters
T from

T to

System.Collections.Generic.Dictionary<System.Object, System.Object> references

Type Parameters
T

DeepCopyWithManualReferences<T>(T, Dictionary<Object, Object>)
public static T DeepCopyWithManualReferences<T>(T instance, Dictionary<object, object> references)
Parameters
T instance

System.Collections.Generic.Dictionary<System.Object, System.Object> references

Returns
T

Type Parameters
T

GetDeepCopierNoPolymorphism<T>()
public static FastDeepCopier.DeepCopierNoPolymorphism<T> GetDeepCopierNoPolymorphism<T>()
Returns
Sirenix.OdinInspector.Editor.Internal.FastDeepCopier.DeepCopierNoPolymorphism<T>

Type Parameters
T

GetDeepCopierWeakNoPolymorphism(Type)
public static FastDeepCopier.DeepCopierWeakNoPolymorphism GetDeepCopierWeakNoPolymorphism(Type type)
Parameters
System.Type type

Returns
Sirenix.OdinInspector.Editor.Internal.FastDeepCopier.DeepCopierWeakNoPolymorphism

ReleaseCachedReferenceDict(Dictionary<Object, Object>)
public static void ReleaseCachedReferenceDict(Dictionary<object, object> dict)
Parameters
System.Collections.Generic.Dictionary<System.Object, System.Object> dict