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

FreeBSD Manual Pages

  
 
  

home | help
std::ranges::forward_range(3) C++ Standard Libarystd::ranges::forward_range(3)

NAME
       std::ranges::forward_range - std::ranges::forward_range

Synopsis
	  Defined in header <ranges>
	  template< class T >

	  concept			 forward_range			     =
       (since C++20)

	      ranges::input_range<T> &&
	  std::forward_iterator<ranges::iterator_t<T>>;

	  The forward_range  concept  is  a  refinement	 of  range  for	 which
       ranges::begin returns a
	  model	of forward_iterator.

Example
       // Run this code

	#include <forward_list>
	#include <queue>
	#include <ranges>
	#include <span>
	#include <stack>
	#include <tuple>

	const char* str{"not a forward range"};
	const char str2[] = "a forward range";
	static_assert(
	    std::ranges::forward_range<decltype("a forward range")> &&
	    !std::ranges::forward_range<decltype(str)> &&
	    std::ranges::forward_range<decltype(str2)> &&
	    !std::ranges::forward_range<std::stack<char>> &&
	    std::ranges::forward_range<std::forward_list<char>>	&&
	    !std::ranges::forward_range<std::tuple<std::forward_list<char>>>
       &&
	    std::ranges::forward_range<std::span<char>>	&&
	    !std::ranges::forward_range<std::queue<char>> &&
	"");

	int main() {}

http://cppreference.com		  2024.06.10	 std::ranges::forward_range(3)

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

home | help