https://wg21.link/P1206R7)  
` __cpp_lib_ranges_zip ` |  std::ranges::zip_view  ,  std::ranges::zip_transform_view  ,  std::ranges::adjacent_view  ,  std::ranges::adjacent_transform_view  |  202110L  |  [ ` <ranges> ` ](/w/cpp/header/ranges "cpp/header/ranges") [ ` <tuple> ` ](/w/cpp/header/tuple "cpp/header/tuple") [ ` <utility> ` ](/w/cpp/header/utility "cpp/header/utility") |  (C++23)  |  [ P2321R2 ](https://wg21.link/P2321R2)  
` __cpp_lib_ratio ` |  Adding the new 2022 SI prefixes  |  202306L  |  [ ` <ratio> ` ](/w/cpp/header/ratio "cpp/header/ratio") |  (C++26)  |  [ P2734R0 ](https://wg21.link/P2734R0)  
` __cpp_lib_raw_memory_  algorithms ` |  [ Extending memory management tools ](/w/cpp/memory#Uninitialized_storage "cpp/memory") |  201606L  |  [ ` <memory> ` ](/w/cpp/header/memory "cpp/header/memory") |  (C++17)  |  [ P0040R3 ](https://wg21.link/P0040R3)  
` __cpp_lib_rcu ` |  Read-Copy Update (RCU)  |  202306L  |  [ ` <rcu> ` ](/w/cpp/header/rcu "cpp/header/rcu") |  (C++26)  |  [ P2545R4 ](https://wg21.link/P2545R4)  
` __cpp_lib_reference_  from_temporary ` |  std::reference_constructs_from_temporary  and  std::reference_converts_from_temporary  |  202202L  |  [ ` <type_traits> ` ](/w/cpp/header/type_traits "cpp/header/type traits") |  (C++23)  |  [ P2255R2 ](https://wg21.link/P2255R2)  
` __cpp_lib_remove_cvref ` |  [ ` std::remove_cvref ` ](/w/cpp/types/remove_cvref "cpp/types/remove cvref") |  201711L  |  [ ` <type_traits> ` ](/w/cpp/header/type_traits "cpp/header/type traits") |  (C++20)  |  [ P0550R2 ](https://wg21.link/P0550R2)  
` __cpp_lib_result_of_sfinae ` |  [ std::result_of ](/w/cpp/types/result_of "cpp/types/result of") and [ SFINAE ](/w/cpp/language/sfinae "cpp/language/sfinae") |  201210L  |  [ ` <type_traits> ` ](/w/cpp/header/type_traits "cpp/header/type traits") [ ` <functional> ` ](/w/cpp/header/functional "cpp/header/functional") |  (C++14)  |  [ N3462 ](https://wg21.link/N3462)  
` __cpp_lib_robust_  nonmodifying_seq_ops ` |  Making non-modifying sequence operations more robust (two-range overloads for  [ std::mismatch ](/w/cpp/algorithm/mismatch "cpp/algorithm/mismatch") ,  [ std::equal ](/w/cpp/algorithm/equal "cpp/algorithm/equal") and  [ std::is_permutation ](/w/cpp/algorithm/is_permutation "cpp/algorithm/is permutation") )  |  201304L  |  [ ` <algorithm> ` ](/w/cpp/header/algorithm "cpp/header/algorithm") |  (C++14)  |  [ N3671 ](https://wg21.link/N3671)  
` __cpp_lib_sample ` |  [ std::sample ](/w/cpp/algorithm/sample "cpp/algorithm/sample") |  201603L  |  [ ` <algorithm> ` ](/w/cpp/header/algorithm "cpp/header/algorithm") |  (C++17)  |  [ P0220R1 ](https://wg21.link/P0220R1)  
` __cpp_lib_saturation_  arithmetic ` |  [ Saturation arithmetic ](/w/cpp/numeric#Saturation_arithmetic_.28since_C.2B.2B26.29 "cpp/numeric") |  202311L  |  [ ` <numeric> ` ](/w/cpp/header/numeric "cpp/header/numeric") |  (C++26)  |  [ P0543R3 ](https://wg21.link/P0543R3)  
` __cpp_lib_scoped_lock ` |  [ ` std::scoped_lock ` ](/w/cpp/thread/scoped_lock "cpp/thread/scoped lock") |  201703L  |  [ ` <mutex> ` ](/w/cpp/header/mutex "cpp/header/mutex") |  (C++17)  |  [ P0156R2 ](https://wg21.link/P0156R2)  
` __cpp_lib_semaphore ` |  [ ` std::counting_semaphore ` , ` std::binary_semaphore ` ](/w/cpp/thread/counting_semaphore "cpp/thread/counting semaphore") |  201907L  |  [ ` <semaphore> ` ](/w/cpp/header/semaphore "cpp/header/semaphore") |  (C++20)  |  [ P1135R6 ](https://wg21.link/P1135R6)  
` __cpp_lib_shared_mutex ` |  [ std::shared_mutex ](/w/cpp/thread/shared_mutex "cpp/thread/shared mutex") (untimed)  |  201505L  |  [ ` <shared_mutex> ` ](/w/cpp/header/shared_mutex "cpp/header/shared mutex") |  (C++17)  |  [ N4508 ](https://wg21.link/N4508)  
` __cpp_lib_shared_ptr_arrays ` |  [ std::shared_ptr<T[]> ](/w/cpp/memory/shared_ptr "cpp/memory/shared ptr") |  201611L  |  [ ` <memory> ` ](/w/cpp/header/memory "cpp/header/memory") |  (C++17)  |  [ P0497R0 ](https://wg21.link/P0497R0)  
Array support of  [ std::make_shared