19.36*  (partial)  *    
19.37*  |  partial*  |  |  |   
Rectifying constant iterators, sentinels, and ranges  |  [ P2278R4 ](https://wg21.link/P2278R4) |  13  |  |  19.35*  (partial)*    
19.36*  |  |  |  |   
Formatting Ranges  |  [ P2286R8 ](https://wg21.link/P2286R8) |  |  16  |  19.37*  (partial)*    
19.39*  (partial)*  
19.41*  (partial)*  |  15.0.0*  |  |  |   
Improve default container formatting  |  [ P2585R1 ](https://wg21.link/P2585R1) |  |  16 (partial)*    
17  |  |  15.0.0*  |  |  |   
Formatted output library [ ` <print> ` ](/w/cpp/header/print "cpp/header/print") |  [ P2093R14 ](https://wg21.link/P2093R14)   
[ P2539R4 ](https://wg21.link/P2539R4) |  14  |  17 (partial)*    
18  |  19.37*  |  15.0.0*  *  |  |  |   
Formatting  [ std::thread::id ](/w/cpp/thread/thread/id "cpp/thread/thread/id") and [ ` std::stacktrace ` ](/w/cpp/utility/basic_stacktrace "cpp/utility/basic stacktrace") |  [ P2693R1 ](https://wg21.link/P2693R1) |  14  |  17 (partial)*  |  19.38*  |  15.0.0*  |  |  |   
` constexpr ` for integral overloads of [ ` std::to_chars() ` ](/w/cpp/utility/to_chars "cpp/utility/to chars") and [ ` std::from_chars() ` ](/w/cpp/utility/from_chars "cpp/utility/from chars") .  |  [ P2291R3 ](https://wg21.link/P2291R3) |  13  |  16  |  19.34*  |  15.0.0*  |  |  |   
[ ` ranges::contains() ` ](/w/cpp/algorithm/ranges/contains "cpp/algorithm/ranges/contains") and [ ` ranges::contains_subrange() ` ](/w/cpp/algorithm/ranges/contains "cpp/algorithm/ranges/contains") |  [ P2302R4 ](https://wg21.link/P2302R4) |  13  |  19  |  19.34*  |  |  |  |   
[ Ranges fold algorithms ](/w/cpp/algorithm/ranges#Constrained_fold_operations "cpp/algorithm/ranges") |  [ P2322R6 ](https://wg21.link/P2322R6) |  13  |  |  19.35*  |  |  |  |   
[ ` views::cartesian_product ` ](/w/cpp/ranges/cartesian_product_view "cpp/ranges/cartesian product view") |  [ P2374R4 ](https://wg21.link/P2374R4)   
[ P2540R1 ](https://wg21.link/P2540R1) |  13  |  |  19.37*  |  |  |  |   
Adding move-only types support for comparison concepts ( [ ` equality_comparable ` ](/w/cpp/concepts/equality_comparable "cpp/concepts/equality comparable") , [ ` totally_ordered ` ](/w/cpp/concepts/totally_ordered "cpp/concepts/totally ordered") , [ ` three_way_comparable ` ](/w/cpp/utility/compare/three_way_comparable "cpp/utility/compare/three way comparable") )  |  [ P2404R3 ](https://wg21.link/P2404R3) |  |  |  19.36*  |  |  |  |   
Ranges iterators as inputs to non-ranges algorithms  |  [ P2408R5 ](https://wg21.link/P2408R5) |  |  |  19.34*  |  |  |  |   
constexpr  [ std::bitset ](/w/cpp/utility/bitset "cpp/utility/bitset") |  [ P2417R2 ](https://wg21.link/P2417R2) |  13  |  16  |  19.34*  |  15.0.0*  |  |  |   
[ ` basic_string::substr() ` ](/w/cpp/string/basic_string/substr "cpp/string/basic string/substr") ` && ` |  [ P2438R2 ](https://wg21.link/P2438R2) |  |  16  |  19.34*  |  15.0.0*  |  |  |   
[ ` views::as_rvalue ` ](/w/cpp/ranges/as_rvalue_view "cpp/ranges/as rvalue view") |  [ P2446R2 ](https://wg21.link/P2446R2) |  13  |  16  |  19.34*  |  15.0.0*  |  |  |   
Standard Library Modules  |  [ P2465R3 ](https://wg21.link/P2465R3) |  |  17 (partial)*  |  19.35*    
(partial)*  
19.36*  |  |  |  |   
[ ` std::forward_like() ` ](/w/cpp/utility/forward_like "cpp/utility/forward like") |  [ P2445R1 ](https://wg21.link/P2445R1) |  14  |  16  |  19.34*  |  15.0.0*  |  |  |   
Support exclusive mode for  [ std::fstream ](/w/cpp/io/basic_fstream "cpp/io/basic fstream") |  [ P2467R1 ](https://wg21.link/P2467R1) |  12  |  18  |  19.36*  |  |  |  |   
[ ` views::repeat ` ](/w/cpp/ranges/repeat_view "cpp/ranges/repeat view") |  [ P2474R2 ](https://wg21.link/P2474R2) |  13  |  17  |  19.36*  |  15.0.0*  |  |  |   
Relaxing range adaptors to allow for move-only types  |  [ P2494R2 ](https://wg21.link/P2494R2) |  14  |  17  |  19.34*  |  15.0.0*  |  |  |   
[ std::basic_string_view ](/w/cpp/string/basic_string_view "cpp/string/basic string view") range [ constructor ](/w/cpp/str