std::is_void - cppreference.com (original) (raw)
| | | | | ------------------------------------- | | ------------- | | template< class T > struct is_void; | | (since C++11) |
std::is_void is a UnaryTypeTrait.
Checks whether T is a void type. Provides the member constant value that is equal to true, if T is the type void, const void, volatile void, or const volatile void. Otherwise, value is equal to false.
If the program adds specializations for std::is_void or std::is_void_v, the behavior is undefined.
Contents
[edit] Template parameters
[edit] Helper variable template
| template< class T > constexpr bool is_void_v = is_void<T>::value; | | (since C++17) | | ----------------------------------------------------------------------- | | ------------- |
Inherited from std::integral_constant
Member constants
| | true if T is the type void (possibly cv-qualified), false otherwise (public static member constant) | | ------------------------------------------------------------------------------------------------------ |
Member functions
| | converts the object to bool, returns value (public member function) | | ---------------------------------------------------------------------- | | | returns value (public member function) |
Member types
[edit] Possible implementation
[edit] Example
#include void foo(); static_assert ( std::is_void_v == true and std::is_void_v == true and std::is_void_v == true and std::is_void_v == true and std::is_void_v<std::void_t<>> == true and std::is_void_v<void*> == false and std::is_void_v == false and std::is_void_v<decltype(foo)> == false and std::is_void_v<std::is_void> == false ); int main() {}
[edit] See also
| is_array(C++11) | checks if a type is an array type (class template) [edit] |
|---|---|
| is_pointer(C++11) | checks if a type is a pointer type (class template) [edit] |
| is_enum(C++11) | checks if a type is an enumeration type (class template) [edit] |
| is_union(C++11) | checks if a type is a union type (class template) [edit] |
| is_class(C++11) | checks if a type is a non-union class type (class template) [edit] |
| is_function(C++11) | checks if a type is a function type (class template) [edit] |
| is_object(C++11) | checks if a type is an object type (class template) [edit] |