@@ -22,50 +22,35 @@ import numeric_traits;
2222
2323using namespace bounded ::literal;
2424
25- struct non_trivial {
26- constexpr non_trivial (non_trivial &&) noexcept {
27- }
28- constexpr non_trivial (non_trivial const &) {
29- }
30- constexpr ~non_trivial () noexcept {
31- }
32- constexpr auto operator =(non_trivial &&) noexcept -> non_trivial & {
33- return *this ;
34- }
35- constexpr auto operator =(non_trivial const &) -> non_trivial & {
36- return *this ;
37- }
38- };
39-
4025static_assert (bounded::trivially_move_constructible<containers::static_vector<int , 0_bi>>);
4126static_assert (bounded::trivially_move_constructible<containers::static_vector<int , 1_bi>>);
42- static_assert (bounded::trivially_move_constructible<containers::static_vector<non_trivial , 0_bi>>);
43- static_assert (!bounded::trivially_move_constructible<containers::static_vector<non_trivial , 1_bi>>);
44- static_assert (bounded::move_constructible<containers::static_vector<non_trivial , 1_bi>>);
27+ static_assert (bounded::trivially_move_constructible<containers::static_vector<bounded_test::integer , 0_bi>>);
28+ static_assert (!bounded::trivially_move_constructible<containers::static_vector<bounded_test::integer , 1_bi>>);
29+ static_assert (bounded::move_constructible<containers::static_vector<bounded_test::integer , 1_bi>>);
4530
4631static_assert (bounded::trivially_copy_constructible<containers::static_vector<int , 0_bi>>);
4732static_assert (bounded::trivially_copy_constructible<containers::static_vector<int , 1_bi>>);
48- static_assert (bounded::trivially_copy_constructible<containers::static_vector<non_trivial , 0_bi>>);
49- static_assert (!bounded::trivially_copy_constructible<containers::static_vector<non_trivial , 1_bi>>);
50- static_assert (bounded::copy_constructible<containers::static_vector<non_trivial , 1_bi>>);
33+ static_assert (bounded::trivially_copy_constructible<containers::static_vector<bounded_test::integer , 0_bi>>);
34+ static_assert (!bounded::trivially_copy_constructible<containers::static_vector<bounded_test::integer , 1_bi>>);
35+ static_assert (bounded::copy_constructible<containers::static_vector<bounded_test::integer , 1_bi>>);
5136
5237static_assert (bounded::trivially_destructible<containers::static_vector<int , 0_bi>>);
5338static_assert (bounded::trivially_destructible<containers::static_vector<int , 1_bi>>);
54- static_assert (bounded::trivially_destructible<containers::static_vector<non_trivial , 0_bi>>);
55- static_assert (!bounded::trivially_destructible<containers::static_vector<non_trivial , 1_bi>>);
56- static_assert (std::destructible<containers::static_vector<non_trivial , 1_bi>>);
39+ static_assert (bounded::trivially_destructible<containers::static_vector<bounded_test::integer , 0_bi>>);
40+ static_assert (!bounded::trivially_destructible<containers::static_vector<bounded_test::integer , 1_bi>>);
41+ static_assert (std::destructible<containers::static_vector<bounded_test::integer , 1_bi>>);
5742
5843static_assert (bounded::trivially_copy_assignable<containers::static_vector<int , 0_bi>>);
5944static_assert (bounded::trivially_copy_assignable<containers::static_vector<int , 1_bi>>);
60- static_assert (bounded::trivially_copy_assignable<containers::static_vector<non_trivial , 0_bi>>);
61- static_assert (!bounded::trivially_copy_assignable<containers::static_vector<non_trivial , 1_bi>>);
62- static_assert (bounded::copy_assignable<containers::static_vector<non_trivial , 1_bi>>);
45+ static_assert (bounded::trivially_copy_assignable<containers::static_vector<bounded_test::integer , 0_bi>>);
46+ static_assert (!bounded::trivially_copy_assignable<containers::static_vector<bounded_test::integer , 1_bi>>);
47+ static_assert (bounded::copy_assignable<containers::static_vector<bounded_test::integer , 1_bi>>);
6348
6449static_assert (bounded::trivially_move_assignable<containers::static_vector<int , 0_bi>>);
6550static_assert (bounded::trivially_move_assignable<containers::static_vector<int , 1_bi>>);
66- static_assert (bounded::trivially_move_assignable<containers::static_vector<non_trivial , 0_bi>>);
67- static_assert (!bounded::trivially_move_assignable<containers::static_vector<non_trivial , 1_bi>>);
68- static_assert (bounded::move_assignable<containers::static_vector<non_trivial , 1_bi>>);
51+ static_assert (bounded::trivially_move_assignable<containers::static_vector<bounded_test::integer , 0_bi>>);
52+ static_assert (!bounded::trivially_move_assignable<containers::static_vector<bounded_test::integer , 1_bi>>);
53+ static_assert (bounded::move_assignable<containers::static_vector<bounded_test::integer , 1_bi>>);
6954
7055template <typename T>
7156using test_static_vector = containers::static_vector<T, 40_bi>;
0 commit comments