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

FreeBSD Manual Pages

  
 
  

home | help
std::move_iterator::base(3)   C++ Standard Libary  std::move_iterator::base(3)

NAME
       std::move_iterator::base	- std::move_iterator::base

Synopsis
	  iterator_type			     base()			const;
       (since C++11)
									 (un-
       til C++17)
	  constexpr   iterator_type   base()	const;			   (1)
       (since C++17)
									 (un-
       til C++20)
	  constexpr    const	iterator_type&	  base()    const&   noexcept;
       (since C++20)
	  constexpr  iterator_type  base()   &&;			   (2)
       (since C++20)

	  Returns the underlying base iterator.

	  1)  Copy  constructs	the return value from the underlying iterator.
       (until C++20)
	  1)   Returns	 a   reference	  to	the    underlying    iterator.
       (since C++20)

	  2) Move constructs the return	value from the underlying iterator.

Parameters
	  (none)

Return value
	  1) A copy of the underlying iterator.	     (until C++20)
	  1) A reference to the	underlying iterator. (since C++20)

	  2) An	iterator move constructed from the underlying iterator.

Exceptions
	  May throw implementation-defined exceptions.

Example
       // Run this code

	#include <algorithm>
	#include <iostream>
	#include <iterator>
	#include <vector>

	int main()
	{
	    std::vector<int> v{	0, 1, 2, 3, 4 };
	    std::move_iterator<std::vector<int>::reverse_iterator>
		m1{ v.rbegin() },
		m2{ v.rend() };

	    std::copy(m1.base(),	 m2.base(),	   std::ostream_itera-
       tor<int>(std::cout, " "));
	    std::cout << '\n';
	}

Output:
	4 3 2 1	0

	 Defect	reports

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

	     DR	      Applied	 to		  Behavior    as     published
       Correct behavior
	  LWG 3391 C++20      the const	version	of base	returns	a copy of  re-
       turns a reference
			      the underlying iterator
	  LWG	3593   C++20	    the	  const	 version  of  base  returns  a
       made noexcept
			      reference	but might not be noexcept

See also
	  operator*
	  operator->		       accesses	the pointed-to element
	  (C++11)		       (public member function)
	  (C++11)(deprecated in	C++20)

http://cppreference.com		  2022.07.31	   std::move_iterator::base(3)

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

home | help