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

FreeBSD Manual Pages

  
 
  

home | help
std::experi...ranges::next(3) C++ Standard Libarystd::experi...ranges::next(3)

NAME
       std::experimental::ranges::next - std::experimental::ranges::next

Synopsis
	  Defined in header <experimental/ranges/iterator>
	  namespace {
									  (ranges
       TS)
	  constexpr   /*   unspecified	 */   next   =	 /*   unspecified  */;
       (customization point
									  ob-
       ject)
	  }
	  Call signature
	  template< Iterator I >				      (1)
	  constexpr I next(I i);
	  template< Iterator I >				      (2)
	  constexpr I next(I i,	ranges::difference_type_t<I> n);
	  template< Iterator I,	Sentinel<I> S >			      (3)
	  constexpr I next(I i,	S bound);
	  template< Iterator I,	Sentinel<I> S >
	  constexpr I next(I i,	ranges::difference_type_t<I> n,	S     (4)
	  bound);

	  Advances the	iterator  i  n	times,	or  until  bound  is  reached,
       whichever comes first,
	  and returns the advanced iterator.

	  1) Equivalent	to ++i;	return i;.
	  2) Equivalent	to ranges::advance(i, n); return i;.
	  3) Equivalent	to ranges::advance(i, bound); return i;.
	  4) Equivalent	to ranges::advance(i, n, bound); return	i;.

	 Customization point objects

	  The name ranges::next	denotes	a customization	point object, which is
       a function
	  object  of a literal Semiregular class type (denoted,	for exposition
       purposes, as
	  NextT). All instances	of NextT are equal. Thus, ranges::next can  be
       copied freely
	  and its copies can be	used interchangeably.

	  Given	 a  set	 of types Args..., if std::declval<Args>()... meet the
       requirements for
	  arguments to ranges::next above, NextT will satisfy  ranges::Invoca-
       ble<const NextT,
	  Args...>. Otherwise, no function call	operator of NextT participates
       in overload
	  resolution.

	  In  every  translation  unit	in  which  ranges::next	is defined, it
       refers to the same
	  instance of the customization	point object. (This means that it  can
       be used freely
	  in  things like inline functions and function	templates without vio-
       lating the
	  one-definition rule.)

Return value
	  The advanced iterator.

Notes
	  Even though omitting n for overload (2) behaves as if	n is 1,	 omit-
       ting n for
	  overload (4) effectively behaves as if n is infinity (always advance
       to bound).

Example
	   This	section	is incomplete
	   Reason: no example

See also
	  next	   increment an	iterator
	  (C++11)  (function template)
	  advance  advances an iterator	by given distance
		   (function template)
	  prev	   decrement an	iterator
		   (function template)
		   returns the distance	between	an iterator and	a sentinel, or
       between the
	  distance beginning and the end of a range
		   (function template)

http://cppreference.com		  2022.07.31	 std::experi...ranges::next(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::ranges::next&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help