@@ -24,6 +24,19 @@ void test_fill_helper(const size_t length) {
24
24
vector<bool > dest_false (length + 3 , true );
25
25
fill (dest_false.begin (), prev (dest_false.end (), 3 ), false );
26
26
assert (dest_false == result_false);
27
+
28
+ vector<bool > result_true_n (length, true );
29
+ result_true_n.resize (length + 3 , false );
30
+ vector<bool > dest_true_n (length + 3 , false );
31
+ const auto res_fill_n = fill_n (dest_true_n.begin (), length, true );
32
+ assert (dest_true_n == result_true_n);
33
+ assert (res_fill_n == prev (dest_true_n.end (), 3 ));
34
+
35
+ vector<bool > result_false_n (length, false );
36
+ result_false_n.resize (length + 3 , true );
37
+ vector<bool > dest_false_n (length + 3 , true );
38
+ fill_n (dest_false_n.begin (), length, false );
39
+ assert (dest_false_n == result_false_n);
27
40
}
28
41
29
42
// With offset
@@ -41,6 +54,21 @@ void test_fill_helper(const size_t length) {
41
54
vector<bool > dest_false (length + 4 , true );
42
55
fill (next (dest_false.begin ()), prev (dest_false.end (), 3 ), false );
43
56
assert (dest_false == result_false);
57
+
58
+ vector<bool > result_true_n (length, true );
59
+ result_true_n.resize (length + 3 , false );
60
+ result_true_n.insert (result_true_n.begin (), false );
61
+ vector<bool > dest_true_n (length + 4 , false );
62
+ const auto res_fill_n = fill_n (next (dest_true_n.begin ()), length, true );
63
+ assert (dest_true_n == result_true_n);
64
+ assert (res_fill_n == prev (dest_true_n.end (), 3 ));
65
+
66
+ vector<bool > result_false_n (length, false );
67
+ result_false_n.resize (length + 3 , true );
68
+ result_false_n.insert (result_false_n.begin (), true );
69
+ vector<bool > dest_false_n (length + 4 , true );
70
+ fill_n (next (dest_false_n.begin ()), length, false );
71
+ assert (dest_false_n == result_false_n);
44
72
}
45
73
}
46
74
0 commit comments