forked from boostorg/mpl
merge RC_1_32_0 fixes
[SVN r26328]
This commit is contained in:
+22
-9
@@ -13,20 +13,33 @@
|
||||
// $Revision$
|
||||
|
||||
#include <boost/mpl/pair_view.hpp>
|
||||
#include <boost/mpl/list/list10_c.hpp>
|
||||
#include <boost/mpl/front.hpp>
|
||||
#include <boost/mpl/back.hpp>
|
||||
|
||||
#include <boost/mpl/vector/vector50_c.hpp>
|
||||
#include <boost/mpl/range_c.hpp>
|
||||
#include <boost/mpl/distance.hpp>
|
||||
#include <boost/mpl/aux_/test.hpp>
|
||||
|
||||
|
||||
MPL_TEST_CASE()
|
||||
{
|
||||
typedef list10_c<int,0,1,2,3,4,5,6,7,8,9> l1;
|
||||
typedef list10_c<int,9,8,7,6,5,4,3,2,1,0> l2;
|
||||
typedef range_c<int,0,10> r;
|
||||
typedef vector10_c<int,9,8,7,6,5,4,3,2,1,10> v;
|
||||
|
||||
typedef pair_view<l1,l2> view;
|
||||
typedef pair_view<r,v> view;
|
||||
typedef begin<view>::type first_;
|
||||
typedef end<view>::type last_;
|
||||
|
||||
MPL_ASSERT(( is_same< first_::category, mpl::random_access_iterator_tag > ));
|
||||
|
||||
MPL_ASSERT(( is_same< advance_c<first_,0>::type, first_ > ));
|
||||
MPL_ASSERT(( is_same< advance_c<last_,0>::type, last_ > ));
|
||||
MPL_ASSERT(( is_same< advance_c<first_,10>::type, last_ > ));
|
||||
MPL_ASSERT(( is_same< advance_c<last_,-10>::type, first_ > ));
|
||||
|
||||
typedef advance_c<first_,5>::type iter;
|
||||
|
||||
MPL_ASSERT(( is_same<
|
||||
deref<iter>::type
|
||||
, mpl::pair< integral_c<int,5>,integral_c<int,4> >
|
||||
> ));
|
||||
|
||||
MPL_ASSERT_RELATION( front<view>::type::first::value, ==, 0 );
|
||||
MPL_ASSERT_RELATION( front<view>::type::second::value, ==, 9 );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user