@@ -18,15 +18,15 @@ static void numbers_scan(State& state) {
1818 dom::parser parser;
1919 dom::array arr;
2020 simdjson::error_code error;
21- if (! parser.load (NUMBERS_JSON).get (arr, error )) {
21+ if ((error = parser.load (NUMBERS_JSON).get (arr) )) {
2222 cerr << " could not read " << NUMBERS_JSON << " as an array: " << error << endl;
2323 return ;
2424 }
2525 for (UNUSED auto _ : state) {
2626 std::vector<double > container;
2727 for (auto e : arr) {
2828 double x;
29- if (! e.get (x,error )) { cerr << " found a node that is not an number: " << error << endl; break ;}
29+ if ((error = e.get (x) )) { cerr << " found a node that is not an number: " << error << endl; break ;}
3030 container.push_back (x);
3131 }
3232 benchmark::DoNotOptimize (container.data ());
@@ -40,7 +40,7 @@ static void numbers_size_scan(State& state) {
4040 dom::parser parser;
4141 dom::array arr;
4242 simdjson::error_code error;
43- if (! parser.load (NUMBERS_JSON).get (arr, error )) {
43+ if ((error = parser.load (NUMBERS_JSON).get (arr) )) {
4444 cerr << " could not read " << NUMBERS_JSON << " as an array: " << error << endl;
4545 return ;
4646 }
@@ -50,7 +50,7 @@ static void numbers_size_scan(State& state) {
5050 size_t pos = 0 ;
5151 for (auto e : arr) {
5252 double x;
53- if (! e.get (x,error )) { cerr << " found a node that is not an number: " << error << endl; break ;}
53+ if ((error = e.get (x) )) { cerr << " found a node that is not an number: " << error << endl; break ;}
5454 container[pos++] = x;
5555 }
5656 if (pos != container.size ()) { cerr << " bad count" << endl; }
@@ -66,7 +66,7 @@ static void numbers_type_scan(State& state) {
6666 dom::parser parser;
6767 dom::array arr;
6868 simdjson::error_code error;
69- if (! parser.load (NUMBERS_JSON).get (arr, error )) {
69+ if ((error = parser.load (NUMBERS_JSON).get (arr) )) {
7070 cerr << " could not read " << NUMBERS_JSON << " as an array" << endl;
7171 return ;
7272 }
@@ -78,7 +78,7 @@ static void numbers_type_scan(State& state) {
7878 cerr << " found a node that is not an number?" << endl; break ;
7979 }
8080 double x;
81- e.get (x,error );
81+ error = e.get (x);
8282 container.push_back (x);
8383 }
8484 benchmark::DoNotOptimize (container.data ());
@@ -92,7 +92,7 @@ static void numbers_type_size_scan(State& state) {
9292 dom::parser parser;
9393 dom::array arr;
9494 simdjson::error_code error;
95- if (! parser.load (NUMBERS_JSON).get (arr, error )) {
95+ if ((error = parser.load (NUMBERS_JSON).get (arr) )) {
9696 cerr << " could not read " << NUMBERS_JSON << " as an array: " << error << endl;
9797 return ;
9898 }
@@ -106,7 +106,7 @@ static void numbers_type_size_scan(State& state) {
106106 cerr << " found a node that is not an number?" << endl; break ;
107107 }
108108 double x;
109- e.get (x,error );
109+ error = e.get (x);
110110 container[pos++] = x;
111111 }
112112 if (pos != container.size ()) { cerr << " bad count" << endl; }
@@ -123,14 +123,14 @@ static void numbers_load_scan(State& state) {
123123 simdjson::error_code error;
124124 for (UNUSED auto _ : state) {
125125 // this may hit the disk, but probably just once
126- if (! parser.load (NUMBERS_JSON).get (arr, error )) {
126+ if ((error = parser.load (NUMBERS_JSON).get (arr) )) {
127127 cerr << " could not read " << NUMBERS_JSON << " as an array: " << error << endl;
128128 break ;
129129 }
130130 std::vector<double > container;
131131 for (auto e : arr) {
132132 double x;
133- if (! e.get (x,error )) { cerr << " found a node that is not an number: " << error << endl; break ;}
133+ if ((error = e.get (x) )) { cerr << " found a node that is not an number: " << error << endl; break ;}
134134 container.push_back (x);
135135 }
136136 benchmark::DoNotOptimize (container.data ());
@@ -146,7 +146,7 @@ static void numbers_load_size_scan(State& state) {
146146 simdjson::error_code error;
147147 for (UNUSED auto _ : state) {
148148 // this may hit the disk, but probably just once
149- if (! parser.load (NUMBERS_JSON).get (arr, error )) {
149+ if ((error = parser.load (NUMBERS_JSON).get (arr) )) {
150150 cerr << " could not read " << NUMBERS_JSON << " as an array" << endl;
151151 break ;
152152 }
@@ -155,7 +155,7 @@ static void numbers_load_size_scan(State& state) {
155155 size_t pos = 0 ;
156156 for (auto e : arr) {
157157 double x;
158- if (! e.get (x,error )) { cerr << " found a node that is not an number?" << endl; break ;}
158+ if ((error = e.get (x) )) { cerr << " found a node that is not an number?" << endl; break ;}
159159 container[pos++] = x;
160160 }
161161 if (pos != container.size ()) { cerr << " bad count" << endl; }
@@ -338,7 +338,7 @@ static void twitter_image_sizes(State& state) {
338338 set<tuple<uint64_t , uint64_t >> image_sizes;
339339 for (dom::object tweet : doc[" statuses" ]) {
340340 dom::array media;
341- if (tweet[" entities" ][" media" ].get (media, error )) {
341+ if (not (error = tweet[" entities" ][" media" ].get (media) )) {
342342 for (dom::object image : media) {
343343 for (auto size : image[" sizes" ].get <dom::object>()) {
344344 image_sizes.insert ({ size.value [" w" ], size.value [" h" ] });
@@ -358,10 +358,10 @@ static void error_code_twitter_count(State& state) noexcept {
358358 dom::parser parser;
359359 simdjson::error_code error;
360360 dom::element doc;
361- if (! parser.load (TWITTER_JSON).get (doc, error )) { return ; }
361+ if ((error = parser.load (TWITTER_JSON).get (doc) )) { return ; }
362362 for (UNUSED auto _ : state) {
363363 uint64_t value;
364- if (! doc[" search_metadata" ][" count" ].get (value, error )) { return ; }
364+ if ((error = doc[" search_metadata" ][" count" ].get (value) )) { return ; }
365365 if (value != 100 ) { return ; }
366366 }
367367}
@@ -372,20 +372,20 @@ static void error_code_twitter_default_profile(State& state) noexcept {
372372 dom::parser parser;
373373 simdjson::error_code error;
374374 dom::element doc;
375- if (! parser.load (TWITTER_JSON).get (doc, error )) { std::cerr << error << std::endl; return ; }
375+ if ((error = parser.load (TWITTER_JSON).get (doc) )) { std::cerr << error << std::endl; return ; }
376376 for (UNUSED auto _ : state) {
377377 set<string_view> default_users;
378378
379379 dom::array tweets;
380- if (! doc[" statuses" ].get (tweets, error )) { return ; }
380+ if ((error = doc[" statuses" ].get (tweets) )) { return ; }
381381 for (dom::element tweet : tweets) {
382382 dom::object user;
383- if (! tweet[" user" ].get (user, error )) { return ; }
383+ if ((error = tweet[" user" ].get (user) )) { return ; }
384384 bool default_profile;
385- if (! user[" default_profile" ].get (default_profile, error )) { return ; }
385+ if ((error = user[" default_profile" ].get (default_profile) )) { return ; }
386386 if (default_profile) {
387387 std::string_view screen_name;
388- if (! user[" screen_name" ].get (screen_name, error )) { return ; }
388+ if ((error = user[" screen_name" ].get (screen_name) )) { return ; }
389389 default_users.insert (screen_name);
390390 }
391391 }
@@ -399,9 +399,9 @@ SIMDJSON_PUSH_DISABLE_WARNINGS
399399SIMDJSON_DISABLE_DEPRECATED_WARNING
400400static void iterator_twitter_default_profile (State& state) {
401401 // Count unique users with a default profile.
402- simdjson:: padded_string json;
403- simdjson::error_code error;
404- if (! padded_string::load (TWITTER_JSON). tie (json, error) ) { std::cerr << error << std::endl; return ; }
402+ padded_string json;
403+ auto error = padded_string::load (TWITTER_JSON). get (json) ;
404+ if (error) { std::cerr << error << std::endl; return ; }
405405 ParsedJson pj = build_parsed_json (json);
406406 for (UNUSED auto _ : state) {
407407 set<string_view> default_users;
@@ -443,20 +443,21 @@ static void error_code_twitter_image_sizes(State& state) noexcept {
443443 dom::parser parser;
444444 simdjson::error_code error;
445445 dom::element doc;
446- if (! parser.load (TWITTER_JSON).get (doc, error )) { std::cerr << error << std::endl; return ; }
446+ if ((error = parser.load (TWITTER_JSON).get (doc) )) { std::cerr << error << std::endl; return ; }
447447 for (UNUSED auto _ : state) {
448448 set<tuple<uint64_t , uint64_t >> image_sizes;
449449 dom::array statuses;
450- if (! doc[" statuses" ].get (statuses, error )) { return ; }
450+ if ((error = doc[" statuses" ].get (statuses) )) { return ; }
451451 for (dom::element tweet : statuses) {
452452 dom::array images;
453- if (tweet[" entities" ][" media" ].get (images, error )) {
453+ if (not (error = tweet[" entities" ][" media" ].get (images) )) {
454454 for (dom::element image : images) {
455455 dom::object sizes;
456- if (! image[" sizes" ].get (sizes, error )) { return ; }
456+ if ((error = image[" sizes" ].get (sizes) )) { return ; }
457457 for (auto size : sizes) {
458458 uint64_t width, height;
459- if (!size.value [" w" ].get (width, error) || !size.value [" h" ].get (height, error)) { return ; }
459+ if ((error = size.value [" w" ].get (width))) { return ; }
460+ if ((error = size.value [" h" ].get (height))) { return ; }
460461 image_sizes.insert ({ width, height });
461462 }
462463 }
@@ -471,9 +472,9 @@ SIMDJSON_PUSH_DISABLE_WARNINGS
471472SIMDJSON_DISABLE_DEPRECATED_WARNING
472473static void iterator_twitter_image_sizes (State& state) {
473474 // Count unique image sizes
474- simdjson::error_code error;
475475 padded_string json;
476- if (!padded_string::load (TWITTER_JSON).tie (json, error)) { std::cerr << error << std::endl; return ; }
476+ auto error = padded_string::load (TWITTER_JSON).get (json);
477+ if (error) { std::cerr << error << std::endl; return ; }
477478 ParsedJson pj = build_parsed_json (json);
478479 for (UNUSED auto _ : state) {
479480 set<tuple<uint64_t , uint64_t >> image_sizes;
@@ -531,10 +532,12 @@ BENCHMARK(iterator_twitter_image_sizes);
531532
532533static void print_json (State& state) noexcept {
533534 // Prints the number of results in twitter.json
534- simdjson::error_code error;
535- padded_string json;
536- if (!padded_string::load (TWITTER_JSON).tie (json, error)) { std::cerr << error << std::endl; return ; }
537535 dom::parser parser;
536+
537+ padded_string json;
538+ auto error = padded_string::load (TWITTER_JSON).get (json);
539+ if (error) { std::cerr << error << std::endl; return ; }
540+
538541 int code = json_parse (json, parser);
539542 if (code) { cerr << error_message (code) << endl; return ; }
540543 for (UNUSED auto _ : state) {
0 commit comments