Vector.Split Method

Overload List

#SignatureDescription
1procedure Split(const Vec1: TVec; Offset: Integer; Vec2: TVec);Copy the contents of the calling TVec object to Vec1 and Vec2 objects.
2function Split(const Dst: TVecArray): TVec;Splits the calling vector to an array of TVec objects.
3procedure Split(const Dst: TVecArray; const DstSize: TIntegerArray);Copy the contents of the calling TVec object to the TVec objects in Dst array.

Overload 1: procedure Split(const Vec1: TVec; Offset: Integer; Vec2: TVec);

Copy the contents of the calling TVec object to Vec1 and Vec2 objects.

#NameTypeDescription
1Vec1TVec
2OffsetInteger
3Vec2TVecsource TVec

Result: stored in self (calling object)

Remarks:

The Vector.Length and Vector.Complex properties of are set implicitly. An exception is raised, if Offset parameter exceeds the length of the calling vector. The Vector.Length property of Vec1 object is set to Offset and the Length of Vec2 is set to the rest.

Overload 2: function Split(const Dst: TVecArray): TVec;

Splits the calling vector to an array of TVec objects.

#NameTypeDescription
1DstTVecArray

Result: stored in self (calling object), returns self for chaining

Remarks:

Copy the contents of the calling TVec object to the TVec objects in Dst array. The Vector.Length and Vector.Complex properties of vectors in Dst array must be set explicitly. An exception is raised, if Vector.Complex properties of TVec objects do not match or the sum of TVec lengths exceeds the Vector.Length of the calling vector.

Examples
var a,b,c,d: Vector;
begin
    a.SetIt(False,[0,0,0,0,1,2,3,1,2,3]);
    a.Split([b,c,d],[4,3,3]);
    // b = [0,0,0,0], c = [1,2,3], d = [1,2,3]
end;
See Also: Vector.Concat, Vector.Copy, Vector.Resize

Overload 3: procedure Split(const Dst: TVecArray; const DstSize: TIntegerArray);

Copy the contents of the calling TVec object to the TVec objects in Dst array.

#NameTypeDescription
1DstTVecArray
2DstSizeTIntegerArray

Result: stored in self (calling object)

Remarks:

The Length of objects in Dst array is defined in the DstSize array. The Vector.Length and Vector.Complex properties of vectors in Dst array are set implicitly. An exception is raised if the sum of DstSize lengths exceeds the Vector.Length of the calling vector.