Vector.Shift Method

Overload List

#SignatureDescription
1function Shift(const Src: TMtxVec; Offset: Integer): TVec;Shift vector elements left or right in the array.
└ indexed: function Shift(const Vec: TMtxVec; Offset: Integer; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
2function Shift(Offset: Integer): TVec;Shift vector elements.
└ indexed: function Shift(Offset: Integer; Index: Integer; Len: Integer): TMtxVec;

Overload 1: function Shift(const Src: TMtxVec; Offset: Integer): TVec;

Shift vector elements left or right in the array.

#NameTypeDescription
1SrcTMtxVec
2OffsetInteger

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

Remarks:

Shifts Src vector elements and stores the result in the calling object. The number of elements to shift is specified in the Offset parameter. Offset can be any integer number, positive or negative.

See Also: Vector.Rotate

Indexed: function Shift(const Vec: TMtxVec; Offset: Integer; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVec;

A shift on vector elements in range.

#NameTypeDescription
1VecTMtxVec
2OffsetInteger
3VecIndexInteger
4IndexIntegerstart index
5LenIntegerelement count

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

Remarks:

Performs shift on source vector elements in specified range [Index..Index+Len] and stores them to calling vector. The number of elements to shift is specified in the Offset parameter.

Offset can be any integer number, positive or negative.

See Also: Vector.Reverse, Vector.Shift

Overload 2: function Shift(Offset: Integer): TVec;

Shift vector elements.

#NameTypeDescription
1OffsetInteger

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

Remarks:

Shifts calling vector elements. The number of elements to shift is specified in the Offset parameter. Offset can be any integer number, positive or negative.

Examples
var a: Vector;
begin
    a.SetIt(False,[1,-2,3,0]);
    a.Shift(1); // a = 1,1,-2,3
end;
See Also: Vector.Rotate

Indexed: function Shift(Offset: Integer; Index: Integer; Len: Integer): TMtxVec;

Shift vector elements in range.

#NameTypeDescription
1OffsetInteger
2IndexIntegerstart index
3LenIntegerelement count

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

Remarks:

Shifts calling vector elements in specified range [Index..Index+Len]. The number of elements by which to shift is specified in the Offset parameter.

Offset can be any integer number, positive or negative.

See Also: Vector.Reverse, Vector.Rotate