Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::valarray::cshift(3)      C++ Standard Libary     std::valarray::cshift(3)

NAME
       std::valarray::cshift - std::valarray::cshift

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

	  Returns  a  new  valarray of the same	size with elements whose posi-
       tions 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.

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.
	    * For every	function taking	a const	std::valarray<T>&
	      except begin() and end()
	      (since  C++11), identical	functions taking the replacement types
       shall be	added;
	    * For every	function taking	two const std::valarray<T>& arguments,
       identical
	      functions	taking every combination  of  const  std::valarray<T>&
       and replacement
	      types shall be added.
	    *  The  return  type does not add more than	two levels of template
       nesting over the
	      most deeply-nested argument type.

Example
       // Run this code

	#include <iostream>
	#include <valarray>

	int main()
	{
	    std::valarray<int> v{1, 2, 3, 4, 5,	6, 7, 8};

	    for	(auto const& val : v)
		std::cout << val << ' ';
	    std::cout << '\n';

	    std::valarray<int> v2 = v.cshift(2);

	    for	(auto const& val : v2)
		std::cout << val << ' ';
	    std::cout << '\n';
	}

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

	  Defect reports

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

	    DR	  Applied to	     Behavior as  published		  Cor-
       rect behavior
			     the expression of the shifted
	  LWG  618  C++98      elements				     describes
       the new positions
			     contains zero-division if size() is 0 without us-
       ing expressions

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

Hidden category:
	    * Pages with unreviewed LWG	DR marker

http://cppreference.com		  2024.06.10	      std::valarray::cshift(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::valarray::cshift&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help