2
// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
3
// Hinnant & John Maddock 2000. Permission to copy, use, modify,
4
// sell and distribute this software is granted provided this
5
// copyright notice appears in all copies. This software is provided
6
// "as is" without express or implied warranty, and with no claim as
7
// to its suitability for any purpose.
9
// See http://www.boost.org for most recent version including documentation.
11
#ifndef BOOST_TT_IS_UNION_HPP_INCLUDED
12
#define BOOST_TT_IS_UNION_HPP_INCLUDED
14
#include "boost/type_traits/remove_cv.hpp"
15
#include "boost/type_traits/config.hpp"
16
#include "boost/type_traits/intrinsics.hpp"
18
// should be the last #include
19
#include "boost/type_traits/detail/bool_trait_def.hpp"
24
template <typename T> struct is_union_impl
26
typedef typename remove_cv<T>::type cvt;
27
BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_UNION(cvt));
31
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_union,T,::boost::detail::is_union_impl<T>::value)
35
#include "boost/type_traits/detail/bool_trait_undef.hpp"
37
#endif // BOOST_TT_IS_UNION_HPP_INCLUDED