diff --git a/include/boost/type_traits/type_with_alignment.hpp b/include/boost/type_traits/type_with_alignment.hpp index d1b7a03..5a1c563 100644 --- a/include/boost/type_traits/type_with_alignment.hpp +++ b/include/boost/type_traits/type_with_alignment.hpp @@ -144,6 +144,15 @@ union max_align ) }; +// All of the has_one_T types are POD types, so tell that to is_POD +# define BOOST_TT_HAS_ONE_T_POD(R,P,I,T) BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,T,true) +BOOST_PP_LIST_FOR_EACH_I( + BOOST_TT_HAS_ONE_T_POD + , ignored + , BOOST_TT_ALIGNMENT_STRUCT_TYPES + ) + +#undef BOOST_TT_HAS_ONE_T_POD #undef BOOST_TT_ALIGNMENT_BASE_TYPES #undef BOOST_TT_HAS_ONE_T #undef BOOST_TT_ALIGNMENT_STRUCT_TYPES @@ -159,15 +168,6 @@ struct is_aligned ); }; -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::max_align,true) -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<1> ,true) -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<2> ,true) -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<4> ,true) -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<8> ,true) -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<10> ,true) -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<16> ,true) -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<32> ,true) - } // namespace detail // This alignment method originally due to Brian Parker, implemented by David