// Copyright 2025 Peter Dimov // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #include #include #include template void test() { { boost::array a = {{}}; T* p1 = a.data(); { T* p2 = a.begin(); T* p3 = a.end(); BOOST_TEST_EQ( p2, p1 ); BOOST_TEST_EQ( p3, p1 + N ); } { T const* p2 = a.cbegin(); T const* p3 = a.cend(); BOOST_TEST_EQ( p2, p1 ); BOOST_TEST_EQ( p3, p1 + N ); } } { boost::array const a = {{}}; T const* p1 = a.data(); { T const* p2 = a.begin(); T const* p3 = a.end(); BOOST_TEST_EQ( p2, p1 ); BOOST_TEST_EQ( p3, p1 + N ); } { T const* p2 = a.cbegin(); T const* p3 = a.cend(); BOOST_TEST_EQ( p2, p1 ); BOOST_TEST_EQ( p3, p1 + N ); } } } template void test2() { { boost::array a = {}; { T* p2 = a.begin(); T* p3 = a.end(); BOOST_TEST_EQ( p2, p3 ); } { T const* p2 = a.cbegin(); T const* p3 = a.cend(); BOOST_TEST_EQ( p2, p3 ); } } { boost::array const a = {}; { T const* p2 = a.begin(); T const* p3 = a.end(); BOOST_TEST_EQ( p2, p3 ); } { T const* p2 = a.cbegin(); T const* p3 = a.cend(); BOOST_TEST_EQ( p2, p3 ); } } } int main() { test(); test(); test(); test(); test(); test(); test2(); return boost::report_errors(); }