Changed is_POD to is_pod

[SVN r17162]
This commit is contained in:
John Maddock
2003-02-02 12:17:47 +00:00
parent 084bd0ab1b
commit 973bbc1164
12 changed files with 162 additions and 161 deletions

View File

@@ -32,7 +32,7 @@ struct has_trivial_assign_impl
BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_and<
::boost::type_traits::ice_or<
::boost::is_POD<T>::value,
::boost::is_pod<T>::value,
BOOST_HAS_TRIVIAL_ASSIGN(T)
>::value,
::boost::type_traits::ice_not< ::boost::is_const<T>::value >::value,

View File

@@ -27,7 +27,7 @@ struct has_trivial_ctor_impl
{
BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_or<
::boost::is_POD<T>::value,
::boost::is_pod<T>::value,
BOOST_HAS_TRIVIAL_CONSTRUCTOR(T)
>::value));
};

View File

@@ -31,7 +31,7 @@ struct has_trivial_copy_impl
BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_and<
::boost::type_traits::ice_or<
::boost::is_POD<T>::value,
::boost::is_pod<T>::value,
BOOST_HAS_TRIVIAL_COPY(T)
>::value,
::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value

View File

@@ -27,7 +27,7 @@ struct has_trivial_dtor_impl
{
BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_or<
::boost::is_POD<T>::value,
::boost::is_pod<T>::value,
BOOST_HAS_TRIVIAL_DESTRUCTOR(T)
>::value));
};

View File

@@ -116,6 +116,7 @@ template <typename T> struct is_POD_impl
} // namespace detail
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_POD,T,::boost::detail::is_POD_impl<T>::value)
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pod,T,::boost::is_POD<T>::value)
// the following help compilers without partial specialization support:
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,void,true)

View File

@@ -7,7 +7,7 @@
// See http://www.boost.org for most recent version including documentation.
//
// defines object traits classes:
// is_object, is_scalar, is_class, is_compound, is_POD,
// is_object, is_scalar, is_class, is_compound, is_pod,
// has_trivial_constructor, has_trivial_copy, has_trivial_assign,
// has_trivial_destructor, is_empty.
//

View File

@@ -82,14 +82,14 @@ struct is_aligned
} // namespace detail
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::detail::max_align,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,detail::lower_alignment<1> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::detail::lower_alignment<2> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::detail::lower_alignment<4> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::detail::lower_alignment<8> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::detail::lower_alignment<10> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::detail::lower_alignment<16> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::detail::lower_alignment<32> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::detail::max_align,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,detail::lower_alignment<1> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::detail::lower_alignment<2> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::detail::lower_alignment<4> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::detail::lower_alignment<8> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::detail::lower_alignment<10> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::detail::lower_alignment<16> ,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::detail::lower_alignment<32> ,true)
// This alignment method originally due to Brian Parker, implemented by David
@@ -134,10 +134,10 @@ struct a8{ double s; };
struct a16{ long double s; };
#pragma option pop
}
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::align::a2,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::align::a4,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::align::a8,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_POD,::boost::align::a16,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::align::a2,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::align::a4,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::align::a8,true)
BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_pod,::boost::align::a16,true)
template <std::size_t N> struct type_with_alignment
{

View File

@@ -439,7 +439,7 @@ has.</p>
</tr>
<tr>
<td valign="top" width="5%">&nbsp;</td>
<td valign="top" width="23%" bgcolor="#C0C0C0"><code>::boost::is_POD&lt;T&gt;::value</code></td>
<td valign="top" width="23%" bgcolor="#C0C0C0"><code>::boost::is_pod&lt;T&gt;::value</code></td>
<td valign="top" width="28%" bgcolor="#C0C0C0">Evaluates
to true only if T is a cv-qualified POD type.</td>
<td valign="top" width="13%" bgcolor="#C0C0C0"><p
@@ -447,7 +447,7 @@ has.</p>
<p align="center">9p4</p>
</td>
<td valign="top" width="25%" bgcolor="#C0C0C0">Without
some (as yet unspecified) help from the compiler, is_POD
some (as yet unspecified) help from the compiler, is_pod
will never report that a class or struct is a POD; this
is always safe, if possibly sub-optimal.<p>If the
compiler does not support partial-specialization of class

View File

@@ -10,149 +10,149 @@
TT_TEST_BEGIN(is_pod)
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<bool>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<bool const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<bool volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<bool const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<bool>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<bool const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<bool volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<bool const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<signed char>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<signed char const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<signed char volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<signed char const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned char>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<char>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned char const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<char const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned char volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<char volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned char const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<char const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<signed char>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<signed char const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<signed char volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<signed char const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned char>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<char>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned char const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<char const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned char volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<char volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned char const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<char const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned short>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<short>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned short const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<short const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned short volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<short volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned short const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<short const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned short>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<short>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned short const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<short const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned short volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<short volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned short const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<short const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned int>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<int>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned int const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<int const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned int volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<int volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned int const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<int const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned int>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned int const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned int volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned int const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned long>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned long const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned long volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned long const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long const volatile>::value, true);
#ifdef BOOST_HAS_LONG_LONG
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned long long>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long long>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned long long const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long long const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned long long volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long long volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned long long const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long long const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long long>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long long>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long long const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long long const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long long volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long long volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long long const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long long const volatile>::value, true);
#endif
#ifdef BOOST_HAS_MS_INT64
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int8>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int8>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int8 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int8 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int8 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int8 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int8 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int8 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int8>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int8>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int8 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int8 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int8 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int8 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int8 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int8 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int16>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int16>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int16 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int16 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int16 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int16 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int16 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int16 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int16>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int16>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int16 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int16 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int16 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int16 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int16 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int16 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int32>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int32>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int32 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int32 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int32 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int32 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int32 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int32 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int32>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int32>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int32 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int32 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int32 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int32 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int32 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int32 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int64>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int64>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int64 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int64 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int64 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int64 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<unsigned __int64 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<__int64 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int64>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int64>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int64 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int64 const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int64 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int64 volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int64 const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int64 const volatile>::value, true);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<float>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<float const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<float volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<float const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<float>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<float const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<float volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<float const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<double>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<double const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<double volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<double const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<double>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<double const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<double volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<double const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long double>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long double const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long double volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<long double const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long double>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long double const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long double volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long double const volatile>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<int>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<void*>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<int*const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<f1>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<f2>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<f3>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<mf1>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<mf2>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<mf3>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<mp>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<cmf>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<enum_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<void*>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int*const>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<f1>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<f2>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<f3>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<mf1>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<mf2>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<mf3>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<mp>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<cmf>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<enum_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<int&>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<const int&>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<int[2]>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<int[3][2]>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<int[2][4][5][6][3]>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<empty_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<void>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int&>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<const int&>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int[2]>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int[3][2]>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int[2][4][5][6][3]>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<empty_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<void>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<test_abc1>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<test_abc1>::value, false);
// cases we would like to succeed but can't implement in the language:
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_POD<empty_POD_UDT>::value, true, false);
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_POD<POD_UDT>::value, true, false);
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_POD<POD_union_UDT>::value, true, false);
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_POD<empty_POD_union_UDT>::value, true, false);
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_pod<empty_POD_UDT>::value, true, false);
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_pod<POD_UDT>::value, true, false);
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_pod<POD_union_UDT>::value, true, false);
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_pod<empty_POD_union_UDT>::value, true, false);
TT_TEST_END

View File

@@ -29,7 +29,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<foo0_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<foo0_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo0_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<foo0_t>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<foo0_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<foo0_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<foo0_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo0_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo0_t>::value, false);
@@ -41,7 +41,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo1_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<foo1_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<foo1_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<foo1_t>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<foo1_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<foo1_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<foo1_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo1_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo1_t>::value, false);
@@ -51,7 +51,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo2_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<foo2_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<foo2_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<foo2_t>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<foo2_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<foo2_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<foo2_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo2_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo2_t>::value, false);
@@ -61,7 +61,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo3_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<foo3_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<foo3_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<foo3_t>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<foo3_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<foo3_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<foo3_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo3_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo3_t>::value, false);
@@ -71,7 +71,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo4_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<foo4_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<foo4_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<foo4_t>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<foo4_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<foo4_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<foo4_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo4_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo4_t>::value, false);

View File

@@ -20,7 +20,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<incomplete_type>::val
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<incomplete_type>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<incomplete_type>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<incomplete_type>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_POD<incomplete_type>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<incomplete_type>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<incomplete_type>::value, false);
TT_TEST_END

View File

@@ -118,83 +118,83 @@ BOOST_CHECK(::tt::alignment_of<
>::value == ::boost::alignment_of<union_UDT>::value);
// check that the type produced are POD's:
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<char>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<short>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<int>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<long>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<float>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<double>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<long double>::value>::type
>::value);
#ifdef BOOST_HAS_LONG_LONG
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<long long>::value>::type
>::value);
#endif
#ifdef BOOST_HAS_MS_INT64
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<__int64>::value>::type
>::value);
#endif
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<int[4]>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<int(*)(int)>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<int*>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<VB>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<VD>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<enum_UDT>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<mf2>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<POD_UDT>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<empty_UDT>::value>::type
>::value);
BOOST_CHECK(::tt::is_POD<
BOOST_CHECK(::tt::is_pod<
::tt::type_with_alignment<
::tt::alignment_of<union_UDT>::value>::type
>::value);