post-merge bug fixes

[SVN r24893]
This commit is contained in:
Aleksey Gurtovoy
2004-09-03 16:02:24 +00:00
parent fc5dc3211f
commit f08838774e
2 changed files with 20 additions and 7 deletions

View File

@@ -62,11 +62,15 @@
/**/
namespace { namespace test {
BOOST_PP_REPEAT(
BOOST_MPL_LIMIT_METAFUNCTION_ARITY
, APPLY_FUNC_DEF
, unused
)
struct g0 { struct apply { typedef char type; }; };
}}
#define APPLY_0_TEST(i, apply_) \
@@ -107,4 +111,11 @@ MPL_TEST_CASE()
, APPLY_TEST
, unused
)
#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY)
{
typedef apply_wrap0<test::g0>::type t;
MPL_ASSERT(( boost::is_same<t, char> ));
}
#endif
}

View File

@@ -21,6 +21,7 @@ struct a1 {};
struct a2 { void xxx(); };
struct a3 { int xxx; };
struct a4 { static int xxx(); };
struct a5 { template< typename T > struct xxx {}; };
struct b1 { typedef int xxx; };
struct b2 { struct xxx; };
@@ -50,6 +51,7 @@ MPL_TEST_CASE()
MPL_ASSERT_NOT(( has_xxx<a2> ));
MPL_ASSERT_NOT(( has_xxx<a3> ));
MPL_ASSERT_NOT(( has_xxx<a4> ));
MPL_ASSERT_NOT(( has_xxx<a5> ));
MPL_ASSERT_NOT(( has_xxx< enum_ > ));
#endif
MPL_ASSERT_NOT(( has_xxx<a1> ));
@@ -58,13 +60,13 @@ MPL_TEST_CASE()
MPL_ASSERT_NOT(( has_xxx< abstract > ));
MPL_ASSERT_NOT(( has_xxx< noncopyable > ));
MPL_ASSERT(( has_xxx<b1,true> ));
MPL_ASSERT(( has_xxx<b2,true> ));
MPL_ASSERT(( has_xxx<b3,true> ));
MPL_ASSERT(( has_xxx<b4,true> ));
MPL_ASSERT(( has_xxx<b5,true> ));
MPL_ASSERT(( has_xxx<b6,true> ));
MPL_ASSERT(( has_xxx<b7,true> ));
MPL_ASSERT(( has_xxx<b1,true_> ));
MPL_ASSERT(( has_xxx<b2,true_> ));
MPL_ASSERT(( has_xxx<b3,true_> ));
MPL_ASSERT(( has_xxx<b4,true_> ));
MPL_ASSERT(( has_xxx<b5,true_> ));
MPL_ASSERT(( has_xxx<b6,true_> ));
MPL_ASSERT(( has_xxx<b7,true_> ));
#if !defined(HAS_XXX_ASSERT)
# define HAS_XXX_ASSERT(x) MPL_ASSERT(x)