(C++11)  (C++11)  |  checks if a type has a constructor for specific arguments   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_constructible&action=edit)  
[ is_default_constructible  is_trivially_default_constructible  is_nothrow_default_constructible  ](/w/cpp/types/is_default_constructible "cpp/types/is default constructible") (C++11)  (C++11)  (C++11)  |  checks if a type has a default constructor   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_default_constructible&action=edit)  
[ is_copy_constructible  is_trivially_copy_constructible  is_nothrow_copy_constructible  ](/w/cpp/types/is_copy_constructible "cpp/types/is copy constructible") (C++11)  (C++11)  (C++11)  |  checks if a type has a copy constructor   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_copy_constructible&action=edit)  
[ is_move_constructible  is_trivially_move_constructible  is_nothrow_move_constructible  ](/w/cpp/types/is_move_constructible "cpp/types/is move constructible") (C++11)  (C++11)  (C++11)  |  checks if a type can be constructed from an rvalue reference   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_move_constructible&action=edit)  
[ is_assignable  is_trivially_assignable  is_nothrow_assignable  ](/w/cpp/types/is_assignable "cpp/types/is assignable") (C++11)  (C++11)  (C++11)  |  checks if a type has an assignment operator for a specific argument   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_assignable&action=edit)  
[ is_copy_assignable  is_trivially_copy_assignable  is_nothrow_copy_assignable  ](/w/cpp/types/is_copy_assignable "cpp/types/is copy assignable") (C++11)  (C++11)  (C++11)  |  checks if a type has a copy assignment operator   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_copy_assignable&action=edit)  
[ is_move_assignable  is_trivially_move_assignable  is_nothrow_move_assignable  ](/w/cpp/types/is_move_assignable "cpp/types/is move assignable") (C++11)  (C++11)  (C++11)  |  checks if a type has a move assignment operator   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_move_assignable&action=edit)  
[ is_destructible  is_trivially_destructible  is_nothrow_destructible  ](/w/cpp/types/is_destructible "cpp/types/is destructible") (C++11)  (C++11)  (C++11)  |  checks if a type has a non-deleted destructor   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_destructible&action=edit)  
[ has_virtual_destructor  ](/w/cpp/types/has_virtual_destructor "cpp/types/has virtual destructor") (C++11)  |  checks if a type has a virtual destructor   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_has_virtual_destructor&action=edit)  
[ is_swappable_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)  |  checks if objects of a type can be swapped with objects of same or different type   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_swappable&action=edit)  
[ reference_constructs_from_temporary  ](/w/cpp/types/reference_constructs_from_temporary "cpp/types/reference constructs from temporary") (C++23)  |  checks if a reference is bound to a temporary in direct-initialization   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_reference_constructs_from_temporary&action=edit)  
[ reference_converts_from_temporary  ](/w/cpp/types/reference_converts_from_temporary "cpp/types/reference converts from temporary")