/// <summary> /// Traverses through the nested graph and generates a flat representation of the specified Type /// </summary> public static T[] FlattenSingle(IComplexArray <T> single) { T[] output = new T[0]; for (int i = 0; i < single.Value.Length; i++) { ArrayOperations.Push(ref output, single.Value[i]); } if (single.SubArray != null) { T[] subOutput = FlattenSingle(single.SubArray); for (int i = 0; i < subOutput.Length; i++) { ArrayOperations.Push(ref output, subOutput[i]); } } return(output); }
public ComplexArray(T[] value, IComplexArray <T> subArray = null) { Value = value; SubArray = subArray; }