various iterator fixes

[SVN r25513]
This commit is contained in:
Aleksey Gurtovoy committed 2004-10-01 16:32:41 +00:00
1 parent 8e99727506
commit 5175a17d87
18 files changed
+410 -358

No files matched your search

+2 -2
View File
@@ -27,8 +27,8 @@ MPL_TEST_CASE()
typedef find<types, short>::type types_iter;
typedef find< values, integral_c<int,7> >::type values_iter;
MPL_ASSERT(( is_same<types_iter::type, short> ));
MPL_ASSERT_RELATION( values_iter::type::value, ==, 7 );
MPL_ASSERT(( is_same< deref<types_iter>::type, short> ));
MPL_ASSERT_RELATION( deref<values_iter>::type::value, ==, 7 );
typedef begin<types>::type types_first;
typedef begin<values>::type values_first;
+23
View File
@@ -14,10 +14,12 @@
#include <boost/mpl/joint_view.hpp>
#include <boost/mpl/range_c.hpp>
#include <boost/mpl/list.hpp>
#include <boost/mpl/equal.hpp>
#include <boost/mpl/size.hpp>
#include <boost/mpl/aux_/test.hpp>
MPL_TEST_CASE()
{
typedef joint_view<
@@ -30,3 +32,24 @@ MPL_TEST_CASE()
MPL_ASSERT(( equal<numbers,answer> ));
MPL_ASSERT_RELATION( size<numbers>::value, ==, 15 );
}
template< typename View > struct test_is_empty
{
typedef typename begin<View>::type first_;
typedef typename end<View>::type last_;
MPL_ASSERT_RELATION( size<View>::value, ==, 0 );
MPL_ASSERT(( is_same< first_,last_> ));
MPL_ASSERT_INSTANTIATION( View );
MPL_ASSERT_INSTANTIATION( first_ );
MPL_ASSERT_INSTANTIATION( last_ );
};
MPL_TEST_CASE()
{
test_is_empty< joint_view< list0<>,list0<> > >();
test_is_empty< joint_view< list<>,list0<> > >();
test_is_empty< joint_view< list<>,list<> > >();
test_is_empty< joint_view< list<>, joint_view< list0<>,list0<> > > >();
}