//----------------------------------------------------------------------------- // boost mpl/test/range_c.cpp source file // See http://www.boost.org for updates, documentation, and revision history. //----------------------------------------------------------------------------- // // Copyright (c) 2000-02 // Aleksey Gurtovoy // // 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 "boost/mpl/range_c.hpp" #include "boost/mpl/empty.hpp" #include "boost/mpl/size.hpp" #include "boost/mpl/front.hpp" #include "boost/mpl/back.hpp" #include "boost/mpl/assert_is_same.hpp" #include "boost/static_assert.hpp" namespace mpl = boost::mpl; int main() { typedef mpl::range_c range0; typedef mpl::range_c range1; typedef mpl::range_c range10; BOOST_STATIC_ASSERT(mpl::size::type::value == 0); BOOST_STATIC_ASSERT(mpl::size::type::value == 1); BOOST_STATIC_ASSERT(mpl::size::type::value == 10); BOOST_STATIC_ASSERT(mpl::empty::type::value); BOOST_STATIC_ASSERT(!mpl::empty::type::value); BOOST_STATIC_ASSERT(!mpl::empty::type::value); BOOST_MPL_ASSERT_IS_SAME(mpl::begin::type, mpl::end::type); BOOST_MPL_ASSERT_NOT_SAME(mpl::begin::type, mpl::end::type); BOOST_MPL_ASSERT_NOT_SAME(mpl::begin::type, mpl::end::type); BOOST_STATIC_ASSERT(mpl::front::type::value == 0); BOOST_STATIC_ASSERT(mpl::back::type::value == 0); BOOST_STATIC_ASSERT(mpl::front::type::value == 0); BOOST_STATIC_ASSERT(mpl::back::type::value == 9); return 0; }