From f9bb980a0bdc9a25c5bf630b20e7b5cfe03a023f Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 9 Jan 2025 21:01:41 +0200 Subject: [PATCH] Add array_typedef_test.cpp --- test/Jamfile.v2 | 8 +++++++ test/array_typedef_test.cpp | 43 +++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 test/array_typedef_test.cpp diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index dde5c33..11609ab 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -7,6 +7,8 @@ import testing ; import-search /boost/config/checks ; import config : requires ; +# + run array0.cpp ; run array1.cpp ; run array2.cpp ; @@ -24,4 +26,10 @@ compile-fail array_getfail2.cpp ; run array_hash.cpp : : : [ requires cxx11_noexcept ] ; +# + +run array_typedef_test.cpp ; + +# + run quick.cpp ; diff --git a/test/array_typedef_test.cpp b/test/array_typedef_test.cpp new file mode 100644 index 0000000..d122d1d --- /dev/null +++ b/test/array_typedef_test.cpp @@ -0,0 +1,43 @@ +// 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 +#include + +template void test() +{ + typedef boost::array A; + + BOOST_TEST_TRAIT_SAME(typename A::value_type, T); + + BOOST_TEST_TRAIT_SAME(typename A::iterator, T*); + BOOST_TEST_TRAIT_SAME(typename A::const_iterator, T const*); + + BOOST_TEST_TRAIT_SAME(typename A::reverse_iterator, std::reverse_iterator); + BOOST_TEST_TRAIT_SAME(typename A::const_reverse_iterator, std::reverse_iterator); + + BOOST_TEST_TRAIT_SAME(typename A::reference, T&); + BOOST_TEST_TRAIT_SAME(typename A::const_reference, T const&); + + BOOST_TEST_TRAIT_SAME(typename A::size_type, std::size_t); + BOOST_TEST_TRAIT_SAME(typename A::difference_type, std::ptrdiff_t); + + BOOST_TEST_EQ(A::static_size, N); +} + +int main() +{ + test(); + test(); + test(); + + test(); + test(); + test(); + + return boost::report_errors(); +}