table of contents
        
      
      
    | std::ranges::drop_while_view::drop_while_view(3) | C++ Standard Libary | std::ranges::drop_while_view::drop_while_view(3) | 
NAME¶
std::ranges::drop_while_view::drop_while_view - std::ranges::drop_while_view::drop_while_view
Synopsis¶
 drop_while_view() requires std::default_initializable<V>
    && (1) (since C++20)
  
   std::default_initializable<Pred> = default;
  
   constexpr drop_while_view( V base, Pred pred ); (2) (since
    C++20)
  
   Constructs a drop_while_view.
  
   1) Default constructor. Value-initializes the underlying view and the
    predicate.
  
   2) Move constructs the underlying view from base and the predicate from
  pred.
Parameters¶
 base - underlying view
  
   pred - predicate
Example¶
// Run this code
  
   #include <array>
  
   #include <iostream>
  
   #include <ranges>
  
   int main()
  
   {
  
   constexpr std::array data{ 0, -1, -2, 3, 1, 4, 1, 5, };
  
   auto view = std::ranges::drop_while_view{
  
   data, [](int x) { return x <= 0; }
  
   };
  
   for (int x: view) {
  
   std::cout << x << ' ';
  
   }
  
   std::cout << '\n';
  
   }
Output:¶
3 1 4 1 5
  
   Defect reports
  
   The following behavior-changing defect reports were applied retroactively to
  
   previously published C++ standards.
  
   DR Applied to Behavior as published Correct behavior
  
   if Pred is not default_initializable,
  
   P2325R3 C++20 the default constructor the drop_while_view is also
  
   constructs a drop_while_view which not default_initializable
  
   does not contain an Pred
| 2022.07.31 | http://cppreference.com |