/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include #include #include #include #include #include #include #include #include #include #include "fixture.hpp" #if !defined(FUSION_AT) #define FUSION_AT at_c #endif #if !defined(FUSION_MAKE) #define FUSION_MAKE BOOST_PP_CAT(make_, FUSION_SEQUENCE) #endif #if !defined(FUSION_TIE) #define FUSION_TIE BOOST_PP_CAT(FUSION_SEQUENCE, _tie) #endif namespace test_detail { // classes with different kinds of conversions class AA {}; class BB : public AA {}; struct CC { CC() {} CC(const BB&) {} }; struct DD { operator CC() const { return CC(); }; }; } void test_mpl() { using namespace boost::fusion; typedef FUSION_SEQUENCE seq; typedef boost::mpl::insert_range< boost::mpl::vector<> , boost::mpl::end< boost::mpl::vector<> >::type , seq >::type sequence; typedef boost::mpl::equal > equal; BOOST_STATIC_ASSERT(equal::value); } template