appable_with  is_swappable  is_nothrow_swappable_with
is_nothrow_swappable  ](/w/cpp/types/is_swappable "cpp/types/is swappable")
(C++17)  (C++17)  (C++17)  (C++17)  
  
  
  
Relationships and property queries  
|  [ is_same  ](/w/cpp/types/is_same "cpp/types/is same") (C++11)  
---  
[ is_base_of  ](/w/cpp/types/is_base_of "cpp/types/is base of") (C++11)  
[ is_convertible  is_nothrow_convertible  ](/w/cpp/types/is_convertible
"cpp/types/is convertible") (C++11)  (C++20)  
[ is_layout_compatible  ](/w/cpp/types/is_layout_compatible "cpp/types/is
layout compatible") (C++20)  
[ is_pointer_interconvertible_base_of
](/w/cpp/types/is_pointer_interconvertible_base_of "cpp/types/is pointer
interconvertible base of") (C++20)  
[ is_pointer_interconvertible_with_class
](/w/cpp/types/is_pointer_interconvertible_with_class "cpp/types/is pointer
interconvertible with class") (C++20)  
[ is_corresponding_member  ](/w/cpp/types/is_corresponding_member
"cpp/types/is corresponding member") (C++20)  
  
  
  
|  [ alignment_of  ](/w/cpp/types/alignment_of "cpp/types/alignment of")
(C++11)  
---  
[ rank  ](/w/cpp/types/rank "cpp/types/rank") (C++11)  
[ extent  ](/w/cpp/types/extent "cpp/types/extent") (C++11)  
[ is_invocable  is_invocable_r  is_nothrow_invocable  is_nothrow_invocable_r
](/w/cpp/types/is_invocable "cpp/types/is invocable") (C++17)  (C++17)
(C++17)  (C++17)  
[ reference_constructs_from_temporary
](/w/cpp/types/reference_constructs_from_temporary "cpp/types/reference
constructs from temporary") (C++23)  
[ reference_converts_from_temporary
](/w/cpp/types/reference_converts_from_temporary "cpp/types/reference converts
from temporary") (C++23)  
  
Type modifications  
|  [ remove_cv  remove_const  remove_volatile  ](/w/cpp/types/remove_cv
"cpp/types/remove cv") (C++11)  (C++11)  (C++11)  
---  
[ add_cv  add_const  add_volatile  ](/w/cpp/types/add_cv "cpp/types/add cv")
(C++11)  (C++11)  (C++11)  
[ make_signed  ](/w/cpp/types/make_signed "cpp/types/make signed") (C++11)  
[ make_unsigned  ](/w/cpp/types/make_unsigned "cpp/types/make unsigned")
(C++11)  
  
|  [ remove_reference  ](/w/cpp/types/remove_reference "cpp/types/remove
reference") (C++11)  
---  
[ add_lvalue_reference  add_rvalue_reference  ](/w/cpp/types/add_reference
"cpp/types/add reference") (C++11)  (C++11)  
[ remove_pointer  ](/w/cpp/types/remove_pointer "cpp/types/remove pointer")
(C++11)  
[ add_pointer  ](/w/cpp/types/add_pointer "cpp/types/add pointer") (C++11)  
[ remove_extent  ](/w/cpp/types/remove_extent "cpp/types/remove extent")
(C++11)  
[ remove_all_extents  ](/w/cpp/types/remove_all_extents "cpp/types/remove all
extents") (C++11)  
  
  
  
Type transformations  
|  [ aligned_storage  ](/w/cpp/types/aligned_storage "cpp/types/aligned
storage") (C++11)  (deprecated in C++23)  
---  
[ aligned_union  ](/w/cpp/types/aligned_union "cpp/types/aligned union")
(C++11)  (deprecated in C++23)  
[ decay  ](/w/cpp/types/decay "cpp/types/decay") (C++11)  
[ remove_cvref  ](/w/cpp/types/remove_cvref "cpp/types/remove cvref") (C++20)  
[ enable_if  ](/w/cpp/types/enable_if "cpp/types/enable if") (C++11)  
[ void_t  ](/w/cpp/types/void_t "cpp/types/void t") (C++17)  
  
  
  
|  [ conditional  ](/w/cpp/types/conditional "cpp/types/conditional") (C++11)  
---  
[ common_type  ](/w/cpp/types/common_type "cpp/types/common type") (C++11)  
[ common_reference  ](/w/cpp/types/common_reference "cpp/types/common
reference") (C++20)  
[ underlying_type  ](/w/cpp/types/underlying_type "cpp/types/underlying type")
(C++11)  
[ result_of  invoke_result  ](/w/cpp/types/result_of "cpp/types/result of")
(C++11)  (  until C++20*  )  (C++17)  
[ type_identity  ](/w/cpp/types/type_identity "cpp/types/type identity")
(C++20)  
  
[ Compile-time rational arithmetic ](/w/cpp/numeric/ratio "cpp/numeric/ratio")  
Compile-time integer sequences  
[ integer_sequence  ](/w/cpp/utility/integer_sequence "cpp/utility/integer
sequence") (C++14)  
  
[ [edit]
](https://en.cppreference.com/m