8
8
9
9
// <vector>
10
10
11
- // void assign(_InputIterator __first, _InputIterator __last);
12
- // void assign(_ForwardIterator __first, _ForwardIterator __last );
11
+ // template <class InputIt>
12
+ // constexpr void assign(InputIt first, InputIt last );
13
13
14
14
#include < vector>
15
15
#include < cassert>
@@ -26,19 +26,19 @@ TEST_CONSTEXPR_CXX20 bool tests() {
26
26
v.assign (It (in.begin ()), It (in.end ()));
27
27
assert (v == in);
28
28
}
29
- { // No reallocation: fit wintin current size
30
- bool in[] = {false , true , false , true , true };
31
- TEST_CONSTEXPR std::size_t N = sizeof (in) / sizeof (in[0 ]);
29
+ { // No reallocation: fit within current size
30
+ bool in[] = {false , true , false , true , true };
31
+ std::size_t N = sizeof (in) / sizeof (in[0 ]);
32
32
std::vector<bool > v (2 * N, false );
33
33
using It = forward_iterator<bool *>;
34
34
v.assign (It (in), It (in + N));
35
35
assert (v.size () == N);
36
36
for (std::size_t i = 0 ; i < N; ++i)
37
37
assert (v[i] == in[i]);
38
38
}
39
- { // No reallocation: fit wintin spare space
40
- bool in[] = {false , true , false , true , true };
41
- TEST_CONSTEXPR std::size_t N = sizeof (in) / sizeof (in[0 ]);
39
+ { // No reallocation: fit within spare space
40
+ bool in[] = {false , true , false , true , true };
41
+ std::size_t N = sizeof (in) / sizeof (in[0 ]);
42
42
std::vector<bool > v (N / 2 , false );
43
43
v.reserve (N * 2 );
44
44
using It = forward_iterator<bool *>;
@@ -58,19 +58,19 @@ TEST_CONSTEXPR_CXX20 bool tests() {
58
58
v.assign (It (in.begin ()), It (in.end ()));
59
59
assert (v == in);
60
60
}
61
- { // No reallocation: fit wintin current size
62
- bool in[] = {false , true , false , true , true };
63
- TEST_CONSTEXPR std::size_t N = sizeof (in) / sizeof (in[0 ]);
61
+ { // No reallocation: fit within current size
62
+ bool in[] = {false , true , false , true , true };
63
+ std::size_t N = sizeof (in) / sizeof (in[0 ]);
64
64
std::vector<bool > v (2 * N, false );
65
65
using It = cpp17_input_iterator<bool *>;
66
66
v.assign (It (in), It (in + N));
67
67
assert (v.size () == N);
68
68
for (std::size_t i = 0 ; i < N; ++i)
69
69
assert (v[i] == in[i]);
70
70
}
71
- { // No reallocation: fit wintin spare space
72
- bool in[] = {false , true , false , true , true };
73
- TEST_CONSTEXPR std::size_t N = sizeof (in) / sizeof (in[0 ]);
71
+ { // No reallocation: fit within spare space
72
+ bool in[] = {false , true , false , true , true };
73
+ std::size_t N = sizeof (in) / sizeof (in[0 ]);
74
74
std::vector<bool > v (N / 2 , false );
75
75
v.reserve (N * 2 );
76
76
using It = cpp17_input_iterator<bool *>;
0 commit comments