// Copyright 2025 Peter Dimov // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #include #include #include #include template void test() { { boost::array a = {{}}; { std::reverse_iterator r1( a.rbegin() ); std::reverse_iterator r2( a.end() ); BOOST_TEST( r1 == r2 ); } { std::reverse_iterator r1( a.rend() ); std::reverse_iterator r2( a.begin() ); BOOST_TEST( r1 == r2 ); } { std::reverse_iterator r1( a.crbegin() ); std::reverse_iterator r2( a.cend() ); BOOST_TEST( r1 == r2 ); } { std::reverse_iterator r1( a.crend() ); std::reverse_iterator r2( a.cbegin() ); BOOST_TEST( r1 == r2 ); } } { boost::array const a = {{}}; { std::reverse_iterator r1( a.rbegin() ); std::reverse_iterator r2( a.end() ); BOOST_TEST( r1 == r2 ); } { std::reverse_iterator r1( a.rend() ); std::reverse_iterator r2( a.begin() ); BOOST_TEST( r1 == r2 ); } { std::reverse_iterator r1( a.crbegin() ); std::reverse_iterator r2( a.cend() ); BOOST_TEST( r1 == r2 ); } { std::reverse_iterator r1( a.crend() ); std::reverse_iterator r2( a.cbegin() ); BOOST_TEST( r1 == r2 ); } } } int main() { test(); test(); test(); test(); test(); test(); return boost::report_errors(); }