_is_member_object_pointer&action=edit)  
[ is_member_function_pointer  ](/w/cpp/types/is_member_function_pointer "cpp/types/is member function pointer") (C++11)  |  checks if a type is a pointer to a non-static member function   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_member_function_pointer&action=edit)  
  
#####  Composite type categories  
  
Defined in header ` [ <type_traits> ](/w/cpp/header/type_traits
"cpp/header/type traits") `  
[ is_fundamental  ](/w/cpp/types/is_fundamental "cpp/types/is fundamental") (C++11)  |  checks if a type is a fundamental type   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_fundamental&action=edit)  
[ is_arithmetic  ](/w/cpp/types/is_arithmetic "cpp/types/is arithmetic") (C++11)  |  checks if a type is an arithmetic type   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_arithmetic&action=edit)  
[ is_scalar  ](/w/cpp/types/is_scalar "cpp/types/is scalar") (C++11)  |  checks if a type is a scalar type   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_scalar&action=edit)  
[ is_object  ](/w/cpp/types/is_object "cpp/types/is object") (C++11)  |  checks if a type is an object type   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_object&action=edit)  
[ is_compound  ](/w/cpp/types/is_compound "cpp/types/is compound") (C++11)  |  checks if a type is a compound type   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_compound&action=edit)  
[ is_reference  ](/w/cpp/types/is_reference "cpp/types/is reference") (C++11)  |  checks if a type is either an _lvalue reference_ or _rvalue reference_   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_reference&action=edit)  
[ is_member_pointer  ](/w/cpp/types/is_member_pointer "cpp/types/is member pointer") (C++11)  |  checks if a type is a pointer to a non-static member function or object   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_member_pointer&action=edit)  
  
#####  Type properties  
  
Defined in header ` [ <type_traits> ](/w/cpp/header/type_traits
"cpp/header/type traits") `  
[ is_const  ](/w/cpp/types/is_const "cpp/types/is const") (C++11)  |  checks if a type is const-qualified   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_const&action=edit)  
[ is_volatile  ](/w/cpp/types/is_volatile "cpp/types/is volatile") (C++11)  |  checks if a type is volatile-qualified   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_volatile&action=edit)  
[ is_trivial  ](/w/cpp/types/is_trivial "cpp/types/is trivial") (C++11)  |  checks if a type is trivial   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_trivial&action=edit)  
[ is_trivially_copyable  ](/w/cpp/types/is_trivially_copyable "cpp/types/is trivially copyable") (C++11)  |  checks if a type is trivially copyable   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_trivially_copyable&action=edit)  
[ is_standard_layout  ](/w/cpp/types/is_standard_layout "cpp/types/is standard layout") (C++11)  |  checks if a type is a [ standard-layout ](/w/cpp/language/data_members#Standard-layout "cpp/language/data members") type   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_standard_layout&action=edit)  
[ is_pod  ](/w/cpp/types/is_pod "cpp/types/is pod") (C++11)  (deprecated in C++20)  |  checks if a type is a plain-old data (POD) type   
(class template)  [ [ed