Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
SiliconStudio.Shaders.Ast.DeepCloner Class Reference

DeepClone extension. More...

Classes

struct  CacheKey
 

Static Public Member Functions

static T DeepClone< T > (this T obj, CloneContext context=null)
 Clones deeply the specified object. See remarks. More...
 
static void DeepCollect< T > (T obj, CloneContext context)
 Recursively collects all object references and fill the context with [key] object => [value] object (self referencing). More...
 

Detailed Description

DeepClone extension.

Definition at line 77 of file Node.Clone.Extension.cs.

Member Function Documentation

static T SiliconStudio.Shaders.Ast.DeepCloner.DeepClone< T > ( this T  obj,
CloneContext  context = null 
)
static

Clones deeply the specified object. See remarks.

Template Parameters
TType of the object to clone
Parameters
objThe object instance to clone recursively.
contextThe context dictionary to use while cloning this object.
Returns
A cloned instance of the object

In order to be cloneable, all objects and sub-objects are required to provide a public parameter-less constructor.

Definition at line 129 of file Node.Clone.Extension.cs.

static void SiliconStudio.Shaders.Ast.DeepCloner.DeepCollect< T > ( obj,
CloneContext  context 
)
static

Recursively collects all object references and fill the context with [key] object => [value] object (self referencing).

Template Parameters
TType of the object to collect all object references
Parameters
objThe object instance to collect object references recursively.
contextThe context dictionary to fill with collected object references while cloning this object.
Exceptions
System.ArgumentNullExceptioncontext

Definition at line 151 of file Node.Clone.Extension.cs.


The documentation for this class was generated from the following file: