 st8b7c:f320:99b9:690f:4595:cd17:293a:c069is_union    Defined in header <type_traits>         template< class T >
struct is_union;
    (since C++11)    Checks whether T is a union type. Provides the member constant value, which is equal to true if T is a union type. Otherwise, value is equal to false.
The behavior of a program that adds specializations for is_union or is_union_v (since C++17) is undefined.
 Template parameters    T   -   a type to check 

  Helper variable template    template< class T >
inline constexpr bool is_union_v = is_union<T>8b7c:f320:99b9:690f:4595:cd17:293a:c069value;
    (since C++17)   
  Inherited from  st8b7c:f320:99b9:690f:4595:cd17:293a:c069integral_constant
  Member constants    value
[static]   true if T is a union type , false otherwise  (public static member constant) 
   Member functions    operator bool   converts the object to bool, returns value  (public member function) 
   operator()
(C++14)   returns value  (public member function) 
   Member types    Type   Definition 
   value_type   bool 
   type   st8b7c:f320:99b9:690f:4595:cd17:293a:c069integral_constant<bool, value> 
    Example  #include <iostream>
#include <type_traits>
 
struct A {};
 
typedef union {
    int a;
    float b;
} B;
 
struct C {
    B d;
};
 
int main() 
{
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069cout << st8b7c:f320:99b9:690f:4595:cd17:293a:c069boolalpha;
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069cout << st8b7c:f320:99b9:690f:4595:cd17:293a:c069is_union<A>8b7c:f320:99b9:690f:4595:cd17:293a:c069value << '\n';
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069cout << st8b7c:f320:99b9:690f:4595:cd17:293a:c069is_union<B>8b7c:f320:99b9:690f:4595:cd17:293a:c069value << '\n';
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069cout << st8b7c:f320:99b9:690f:4595:cd17:293a:c069is_union<C>8b7c:f320:99b9:690f:4595:cd17:293a:c069value << '\n';
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069cout << st8b7c:f320:99b9:690f:4595:cd17:293a:c069is_union<int>8b7c:f320:99b9:690f:4595:cd17:293a:c069value << '\n';
} Output:
false
true
false
false   See also     is_class
(C++11)   checks if a type is a non-union class type  (class template) 
  

    
{'path': 'public/docs/cpp/types/is_union.html', 'source': 'DevDocs.IO'}