# std::valarray::cshift

From cppreference.com
< cpp‎ | numeric‎ | valarray

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

Returns a new valarray of the same size with elements whose positions are shifted circularly by `count` elements. The new position of each element is (i−count) mod s where i is the previous position and s is size().

### Parameters

count | - | number of positions to shift the elements by

### Return value

The resulting valarray with circularly shifted elements.

### Notes

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

  - All const member functions of std::valarray are provided.
  - std::valarray, std::slice_array, std::gslice_array, std::mask_array and std::indirect_array can be constructed from the replacement type.
  - All functions accepting an argument of type const std::valarray& except `begin()` and `end()` (since C++14) should also accept the replacement type.
  - All functions accepting two arguments of type const std::valarray& should accept every combination of const std::valarray& and the replacement type.
  - The return type does not add more than two levels of template nesting over the most deeply-nested argument type.

### Example

| This section is incomplete Reason: no example

### See also

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

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/numeric/valarray/cshift&oldid=58783"
Category:

- Todo no example