libstdc++: Deprecated List

libstdc++

Deprecated List

Module negators
  Deprecated in C++17, no longer in the standard since C++20. Use not_fn instead.
Module pointer_adaptors
  Deprecated in C++11, no longer in the standard since C++17.
Module ptrmem_adaptors
  Deprecated in C++11, no longer in the standard since C++17. Use mem_fn instead.
Struct std::aligned_storage< _Len, _Align >
  Deprecated in C++23. Uses can be replaced by an array std::byte[_Len] declared with alignas(_Align).
Struct std::aligned_union< _Len, _Types >
  Deprecated in C++23.
Class std::auto_ptr< _Tp >
  Deprecated in C++11, no longer in the standard since C++17. Use unique_ptr instead.
Struct std::binary_function< _Arg1, _Arg2, _Result >
  Deprecated in C++11, no longer in the standard since C++17.
Struct std::is_literal_type< _Tp >
  Deprecated in C++17, removed in C++20. The idea of a literal type isn't useful.
Struct std::is_pod< _Tp >
  Deprecated in C++20. Use is_standard_layout && is_trivial instead.
Struct std::is_trivial< _Tp >
  Deprecated in C++26. Use a combination of one or more more specialized type traits instead, such as is_trivially_default_constructible, is_trivially_copy_constructible, is_trivially_copy_assignable, etc., depending on the exact check(s) needed.
Struct std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >
  Deprecated since C++17. The recommended alternative is to simply define the typedefs directly in your iterator class.
Member std::random_shuffle (_RandomAccessIterator __first, _RandomAccessIterator __last)
  Since C++17, std::random_shuffle is not part of the C++ standard. Use std::shuffle instead, which was introduced in C++11.
Member std::random_shuffle (_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomNumberGenerator &&__rand)
  Since C++17, std::random_shuffle is not part of the C++ standard. Use std::shuffle instead, which was introduced in C++11.
Struct std::unary_function< _Arg, _Result >
  Deprecated in C++11, no longer in the standard since C++17.