3 // Copyright Neil Groves 2014. Use, modification and
4 // distribution is subject to the Boost Software License, Version
5 // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
8 #include <boost/range/adaptor/type_erased.hpp>
9 #include "type_erased_test.hpp"
11 #include <boost/test/unit_test.hpp>
15 namespace boost_range_adaptor_type_erased_test
20 void test_operator_brackets()
22 typedef boost::adaptors::type_erased
<> type_erased_t
;
25 for (int i
= 0; i
< 10; ++i
)
28 typedef boost::any_range_type_generator
<
29 std::vector
<int> >::type any_range_type
;
34 boost::range_value
<any_range_type
>::type
40 boost::random_access_traversal_tag
,
41 boost::iterator_traversal
<
42 boost::range_iterator
<any_range_type
>::type
47 any_range_type rng
= c
| type_erased_t();
49 for (int i
= 0; i
< 10; ++i
)
51 BOOST_CHECK_EQUAL(rng
[i
], i
);
55 } // anonymous namespace
56 } // namespace boost_range_adaptor_type_erased_test
58 boost::unit_test::test_suite
*
59 init_unit_test_suite(int, char*[])
61 boost::unit_test::test_suite
* test
62 = BOOST_TEST_SUITE("RangeTestSuite.adaptor.type_erased_brackets");
66 &boost_range_adaptor_type_erased_test::test_operator_brackets
));