- Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| std::ranges::forward_range(3) | C++ Standard Libary | std::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() {}
| 2024.06.10 | http://cppreference.com |