0307R2 ](https://wg21.link/P0307R2)  
Fully ` constexpr ` [ std::optional ](/w/cpp/utility/optional "cpp/utility/optional") |  202106L  |  [ ` <optional> ` ](/w/cpp/header/optional "cpp/header/optional") |  (C++20)    
(DR)  |  [ P2231R1 ](https://wg21.link/P2231R1)  
[ Monadic operations ](/w/cpp/utility/optional#Monadic_operations "cpp/utility/optional") in  [ std::optional ](/w/cpp/utility/optional "cpp/utility/optional") |  202110L  |  [ ` <optional> ` ](/w/cpp/header/optional "cpp/header/optional") |  (C++23)  |  [ P0798R8 ](https://wg21.link/P0798R8)   
[ LWG3621 ](https://wg21.link/LWG3621)  
` __cpp_lib_out_ptr ` |  std::out_ptr  ,  std::inout_ptr  |  202106L  |  [ ` <memory> ` ](/w/cpp/header/memory "cpp/header/memory") |  (C++23)  |  [ P1132R7 ](https://wg21.link/P1132R7)  
Freestanding  std::out_ptr  ,  std::inout_ptr  |  202311L  |  [ ` <memory> ` ](/w/cpp/header/memory "cpp/header/memory") |  (C++26)  |  [ P2833R2 ](https://wg21.link/P2833R2)  
` __cpp_lib_parallel_algorithm ` |  [ Parallel algorithms ](/w/cpp/algorithm#Execution_policies "cpp/algorithm") |  201603L  |  [ ` <algorithm> ` ](/w/cpp/header/algorithm "cpp/header/algorithm") [ ` <numeric> ` ](/w/cpp/header/numeric "cpp/header/numeric") |  (C++17)  |  [ P0024R2 ](https://wg21.link/P0024R2)  
` __cpp_lib_polymorphic_  allocator ` |  [ std::pmr::polymorphic_allocator<> ](/w/cpp/memory/polymorphic_allocator "cpp/memory/polymorphic allocator") as a vocabulary type  |  201902L  |  [ ` <memory_resource> ` ](/w/cpp/header/memory_resource "cpp/header/memory resource") |  (C++20)  |  [ P0339R6 ](https://wg21.link/P0339R6)   
[ LWG3437 ](https://wg21.link/LWG3437)  
` __cpp_lib_print ` |  Formatted output  |  202207L  |  [ ` <ostream> ` ](/w/cpp/header/ostream "cpp/header/ostream") [ ` <print> ` ](/w/cpp/header/print "cpp/header/print") |  (C++23)  |  [ P2093R14 ](https://wg21.link/P2093R14)  
` __cpp_lib_quoted_string_io ` |  [ std::quoted ](/w/cpp/io/manip/quoted "cpp/io/manip/quoted") |  201304L  |  [ ` <iomanip> ` ](/w/cpp/header/iomanip "cpp/header/iomanip") |  (C++14)  |  [ N3654 ](https://wg21.link/N3654)  
` __cpp_lib_ranges ` |  [ Ranges library ](/w/cpp/ranges "cpp/ranges") and [ constrained algorithms ](/w/cpp/algorithm/ranges "cpp/algorithm/ranges") |  201911L  |  [ ` <algorithm> ` ](/w/cpp/header/algorithm "cpp/header/algorithm") [ ` <functional> ` ](/w/cpp/header/functional "cpp/header/functional") [ ` <iterator> ` ](/w/cpp/header/iterator "cpp/header/iterator") [ ` <memory> ` ](/w/cpp/header/memory "cpp/header/memory") [ ` <ranges> ` ](/w/cpp/header/ranges "cpp/header/ranges") |  (C++20)  |  [ P0896R4 ](https://wg21.link/P0896R4)   
[ P1035R7 ](https://wg21.link/P1035R7)  
[ P1716R3 ](https://wg21.link/P1716R3)  
Non- [ default-initializable ](/w/cpp/concepts/default_initializable "cpp/concepts/default initializable") [ views ](/w/cpp/ranges/view "cpp/ranges/view") |  202106L  |  (C++20)    
(DR)  |  [ P2325R3 ](https://wg21.link/P2325R3)  
[ Views ](/w/cpp/ranges/view "cpp/ranges/view") with [ ownership ](/w/cpp/ranges/owning_view "cpp/ranges/owning view") |  202110L  |  (C++20)    
(DR)  |  [ P2415R2 ](https://wg21.link/P2415R2)  
std::ranges::range_adaptor_closure  |  202202L  |  (C++23)  |  [ P2387R3 ](https://wg21.link/P2387R3)  
Relaxing [ range adaptors ](/w/cpp/ranges "cpp/ranges") to allow for move-only types  |  202207L  |  (C++23)  |  [ P2494R2 ](https://wg21.link/P2494R2)  
Removing 'poison pill' overloads in  ranges::begin  ,  ranges::end  ,  [ ranges::rbegin ](/w/cpp/ranges/rbegin "cpp/ranges/rbegin") ,  [ ranges::rend ](/w/cpp/ranges/rend "cpp/ranges/rend") , and  [ ranges::size ](/w/cpp/ranges/size "cpp/ranges/size") |  202211L  |  (C++23)  |  [ P2602R2 ](https://wg21.link/P2602R2)  
Relaxing ranges to allow certain projections  |  202302L  |  (C++23)  |  [ P2609R3 ](https://wg21.link/P2609R3)  
` __cpp_lib_ranges_as_const ` |  std::const_iterator  , [ ` std::ranges::as_const_view ` ](/w/cpp/ranges/as_const_view "cpp/ranges/as const