std::is_void (3) - Linux Manuals

std::is_void: std::is_void


std::is_void - std::is_void


Defined in header <type_traits>
template< class T > (since C++11)
struct is_void;

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.

Template parameters

T - a type to check

Helper variable template

template< class T > (since C++17)
inline constexpr bool is_void_v = is_void<T>::value;

Inherited from std::integral_constant

Member constants

value 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
operator bool (public member function)

operator() returns value
              (public member function)

Member types

Type Definition
value_type bool
type std::integral_constant<bool, value>

Possible implementation

  template< class T >
  struct is_void : std::is_same<void, typename std::remove_cv<T>::type> {};


// Run this code

  #include <iostream>
  #include <type_traits>

  int main()
      std::cout << std::boolalpha;
      std::cout << std::is_void<void>::value << '\n';
      std::cout << std::is_void<int>::value << '\n';



See also

is_array checks if a type is an array type
            (class template)

is_pointer checks if a type is a pointer type
            (class template)

is_enum checks if a type is an enumeration type
            (class template)

is_union checks if a type is an union type
            (class template)

is_class checks if a type is a non-union class type
            (class template)

is_function checks if a type is a function type
            (class template)

is_object checks if a type is an object type
            (class template)