10 FuzzedDataProvider fdp(data, size);
11 std::string source = fdp.ConsumeRandomLengthString(256);
12 std::string base_source = fdp.ConsumeRandomLengthString(256);
13 std::string key3 = fdp.ConsumeRandomLengthString(64);
14 std::string value3 = fdp.ConsumeRandomLengthString(64);
19 volatile size_t length = 0;
21 auto base_source_view =
22 std::string_view(base_source.data(), base_source.length());
26 length += initialized.size();
27 initialized.to_string();
31 auto val = initialized.get(source);
32 if (val.has_value()) {
33 length += val->size();
35 auto all_vals = initialized.get_all(source);
36 for (
const auto &v : all_vals) {
45 for (
const auto &pair : initialized) {
46 length += pair.first.size();
47 length += pair.second.size();
51 if (initialized.size() > 0) {
52 auto front = initialized.front();
53 length += front.first.size();
54 auto back = initialized.back();
55 length += back.first.size();
56 auto first = initialized[0];
57 length += first.first.size();
62 search_params.append(source, base_source);
63 search_params.append(key3, value3);
64 search_params.set(source, base_source);
65 search_params.to_string();
68 length += search_params.size();
71 volatile bool has_key = search_params.has(base_source);
73 search_params.append(base_source, source);
78 auto val = search_params.get(source);
79 if (val.has_value()) {
80 length += val->size();
86 auto all_vals = search_params.get_all(source);
87 length += all_vals.size();
88 for (
const auto &v : all_vals) {
94 search_params.remove(source);
95 search_params.remove(source, base_source);
98 if (search_params.has(base_source, source)) {
99 search_params.remove(base_source);
100 search_params.remove(base_source, source);
104 search_params.append(key3, value3);
105 search_params.append(source, key3);
106 search_params.append(base_source, value3);
109 search_params.sort();
112 std::string serialized = search_params.to_string();
113 length += serialized.size();
116 auto keys = search_params.get_keys();
117 while (keys.has_next()) {
118 auto k = keys.next();
125 auto values = search_params.get_values();
126 while (values.has_next()) {
127 auto v = values.next();
134 auto entries = search_params.get_entries();
135 while (entries.has_next()) {
136 auto e = entries.next();
138 length += e->first.size();
139 length += e->second.size();
144 for (
const auto &pair : search_params) {
145 length += pair.first.size();
146 length += pair.second.size();
150 std::string resetted_value = fdp.ConsumeRandomLengthString(256);
151 search_params.reset(resetted_value);
152 length += search_params.size();
155 for (
const auto &pair : search_params) {
156 length += pair.first.size();
157 length += pair.second.size();
162 auto val = search_params.get(source);
163 if (val.has_value()) {
164 length += val->size();
170 length += copied.
size();
172 assigned = search_params;
173 length += assigned.
size();
177 length += move_constructed.
size();
179 move_assigned = std::move(assigned);
180 length += move_assigned.
size();