std::is_union

Header: <type_traits>

std::is_union is a UnaryTypeTrait.

# Declarations

template< class T >
struct is_union;

(since C++11)

# Example

#include <type_traits>
 
struct A {};
static_assert(!std::is_union_v<A>);
 
typedef union
{
    int a;
    float b;
} B;
static_assert(std::is_union_v<B>);
 
struct C { B d; };
static_assert(!std::is_union_v<C>);
 
static_assert(!std::is_union_v<int>);
 
int main() {}

# See also