11
11
12
12
// vector(const vector& v, const allocator_type& a);
13
13
14
+ #include < array>
14
15
#include < cassert>
15
16
#include < vector>
16
17
@@ -28,46 +29,46 @@ TEST_CONSTEXPR_CXX20 void test(const std::vector<bool, A>& x, const A& a) {
28
29
}
29
30
30
31
TEST_CONSTEXPR_CXX20 bool tests () {
31
- bool a05[ 5 ] = {1 , 0 , 1 , 0 , 1 };
32
- bool a17[ 17 ] = {0 , 1 , 0 , 0 , 1 , 1 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 , 1 , 0 , 1 };
33
- bool a33[ 33 ] = {1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 , 1 };
34
- bool a65[ 65 ] = {0 , 0 , 1 , 1 , 0 , 0 , 1 , 0 , 0 , 1 , 0 , 0 , 1 , 0 , 0 , 1 , 0 };
32
+ std::array< int , 5 > a1 = {1 , 0 , 1 , 0 , 1 };
33
+ std::array< int , 17 > a2 = {0 , 1 , 0 , 0 , 1 , 1 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 , 1 , 0 , 1 };
34
+ std::array< int , 33 > a3 = {1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 , 1 };
35
+ std::array< int , 65 > a4 = {0 , 0 , 1 , 1 , 0 , 0 , 1 , 0 , 0 , 1 , 0 , 0 , 1 , 0 , 0 , 1 , 0 };
35
36
36
37
{ // Test with the default allocator
37
- test (std::vector<bool >(a05, a05 + sizeof (a05) / sizeof (a05[ 0 ] )), std::allocator<bool >());
38
- test (std::vector<bool >(a17, a17 + sizeof (a17) / sizeof (a17[ 0 ] )), std::allocator<bool >());
39
- test (std::vector<bool >(a33, a33 + sizeof (a33) / sizeof (a33[ 0 ] )), std::allocator<bool >());
40
- test (std::vector<bool >(a65, a65 + sizeof (a65) / sizeof (a65[ 0 ] )), std::allocator<bool >());
38
+ test (std::vector<bool >(a1. begin (), a1. end ( )), std::allocator<bool >());
39
+ test (std::vector<bool >(a2. begin (), a2. end ( )), std::allocator<bool >());
40
+ test (std::vector<bool >(a3. begin (), a3. end ( )), std::allocator<bool >());
41
+ test (std::vector<bool >(a4. begin (), a4. end ( )), std::allocator<bool >());
41
42
test (std::vector<bool >(257 , true ), std::allocator<bool >());
42
43
}
43
44
44
45
{ // Test with test_allocator
45
46
using A = test_allocator<bool >;
46
47
using C = std::vector<bool , A>;
47
- test (C (a05, a05 + sizeof (a05) / sizeof (a05[ 0 ] ), A (5 )), A (3 ));
48
- test (C (a17, a17 + sizeof (a17) / sizeof (a17[ 0 ] ), A (5 )), A (3 ));
49
- test (C (a33, a33 + sizeof (a33) / sizeof (a33[ 0 ] ), A (5 )), A (3 ));
50
- test (C (a65, a65 + sizeof (a65) / sizeof (a65[ 0 ] ), A (5 )), A (3 ));
48
+ test (C (a1. begin (), a1. end ( ), A (5 )), A (3 ));
49
+ test (C (a2. begin (), a2. end ( ), A (5 )), A (3 ));
50
+ test (C (a3. begin (), a3. end ( ), A (5 )), A (3 ));
51
+ test (C (a4. begin (), a4. end ( ), A (5 )), A (3 ));
51
52
test (C (257 , true , A (5 )), A (3 ));
52
53
}
53
54
54
55
{ // Test with other_allocator
55
56
using A = other_allocator<bool >;
56
57
using C = std::vector<bool , A>;
57
- test (C (a05, a05 + sizeof (a05) / sizeof (a05[ 0 ] ), A (5 )), A (3 ));
58
- test (C (a17, a17 + sizeof (a17) / sizeof (a17[ 0 ] ), A (5 )), A (3 ));
59
- test (C (a33, a33 + sizeof (a33) / sizeof (a33[ 0 ] ), A (5 )), A (3 ));
60
- test (C (a65, a65 + sizeof (a65) / sizeof (a65[ 0 ] ), A (5 )), A (3 ));
58
+ test (C (a1. begin (), a1. end ( ), A (5 )), A (3 ));
59
+ test (C (a2. begin (), a2. end ( ), A (5 )), A (3 ));
60
+ test (C (a3. begin (), a3. end ( ), A (5 )), A (3 ));
61
+ test (C (a4. begin (), a4. end ( ), A (5 )), A (3 ));
61
62
test (C (257 , true , A (5 )), A (3 ));
62
63
}
63
64
64
65
{ // Test with min_allocator
65
66
using A = min_allocator<bool >;
66
67
using C = std::vector<bool , A>;
67
- test (C (a05, a05 + sizeof (a05) / sizeof (a05[ 0 ] ), A ()), A ());
68
- test (C (a17, a17 + sizeof (a17) / sizeof (a17[ 0 ] ), A ()), A ());
69
- test (C (a33, a33 + sizeof (a33) / sizeof (a33[ 0 ] ), A ()), A ());
70
- test (C (a65, a65 + sizeof (a65) / sizeof (a65[ 0 ] ), A ()), A ());
68
+ test (C (a1. begin (), a1. end ( ), A ()), A ());
69
+ test (C (a2. begin (), a2. end ( ), A ()), A ());
70
+ test (C (a3. begin (), a3. end ( ), A ()), A ());
71
+ test (C (a4. begin (), a4. end ( ), A ()), A ());
71
72
test (C (257 , true , A ()), A ());
72
73
}
73
74
0 commit comments