std::valarray::cshift - cppreference.com (original) (raw)

| valarray<T> cshift( int count ) const; | | | | --------------------------------------- | | |

Returns a new valarray of the same size with elements whose positions are shifted circularly by count elements.

A non-negative value of count shifts the elements circularly left count places and a negative value of count shifts the elements circularly right -count places.

[edit] Parameters

count - number of positions to shift the elements by

[edit] Return value

The resulting valarray with circularly shifted elements.

[edit] Notes

The function can be implemented with the return type different from std::valarray. In this case, the replacement type has the following properties:

[edit] Example

Output:

1 2 3 4 5 6 7 8 3 4 5 6 7 8 1 2

[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 618 C++98 the expression of the shifted elementscontains zero-division if size() is ​0​ describes the new positionswithout using expressions

[edit] See also

| | zero-filling shift the elements of the valarray (public member function) [edit] | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |