std::is_enum (3) - Linux Man Pages
std::is_enum: std::is_enum
Command to display std::is_enum
manual in Linux: $ man 3 std::is_enum
NAME
std::is_enum - std::is_enum
Synopsis
Defined in header <type_traits>
template< class T > (since C++11)
struct is_enum;
Checks whether T is an enumeration_type. Provides the member constant value which is equal to true, if T is an enumeration type . Otherwise, value is equal to false.
Template parameters
T - a type to check
Helper variable template
template< class T > (since C++17)
inline constexpr bool is_enum_v = is_enum<T>::value;
Inherited from std::integral_constant
Member constants
value true if T is an enumeration type , false otherwise
(public static member constant)
[static]
Member functions
converts the object to bool, returns value
operator bool (public member function)
operator() returns value
(public member function)
(C++14)
Member types
Type Definition
value_type bool
type std::integral_constant<bool, value>
Example
// Run this code
#include <iostream>
#include <type_traits>
class A {};
enum E {};
enum class Ec : int {};
int main()
{
std::cout << std::boolalpha;
std::cout << std::is_enum<A>::value << '\n';
std::cout << std::is_enum<E>::value << '\n';
std::cout << std::is_enum<Ec>::value << '\n';
std::cout << std::is_enum<int>::value << '\n';
}
Output:
false
true
true
false
See also
is_integral checks if a type is an integral type
(class template)
(C++11)
is_arithmetic checks if a type is an arithmetic type
(class template)
(C++11)
Pages related to std::is_enum
- std::is_empty (3) - std::is_empty
- std::is_eq,std::is_neq,std::is_lt,std::is_gt,std::is_lteq,std::is_gteq (3) - std::is_eq,std::is_neq,std::is_lt,std::is_gt,std::is_lteq,std::is_gteq
- std::is_error_code_enum (3) - std::is_error_code_enum
- std::is_error_code_enum<std::future_errc> (3) - std::is_error_code_enum<std::future_errc>
- std::is_error_code_enum<std::io_errc> (3) - std::is_error_code_enum<std::io_errc>
- std::is_error_condition_enum (3) - std::is_error_condition_enum
- std::is_error_condition_enum<std::errc> (3) - std::is_error_condition_enum<std::errc>
- std::is_execution_policy (3) - std::is_execution_policy
- std::is_abstract (3) - std::is_abstract
- std::is_aggregate (3) - std::is_aggregate
- std::is_arithmetic (3) - std::is_arithmetic
- std::is_array (3) - std::is_array