Skip to content

Commit 18dad08

Browse files
committed
Mark shared parser error branches as unlikely
1 parent acc9e3e commit 18dad08

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

‎include/rfl/parsing/NamedTupleParser.hpp‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -389,12 +389,12 @@ struct NamedTupleParser {
389389
const auto reader = ViewReaderType(&_r, _view, &found, &set, &errors);
390390
if constexpr (_no_field_names) {
391391
const auto err = _r.read_array(reader, _obj_or_arr);
392-
if (err) {
392+
if (err) [[unlikely]] {
393393
return std::make_pair(set, err);
394394
}
395395
} else {
396396
const auto err = _r.read_object(reader, _obj_or_arr);
397-
if (err) {
397+
if (err) [[unlikely]] {
398398
return std::make_pair(set, err);
399399
}
400400
}
@@ -405,7 +405,7 @@ struct NamedTupleParser {
405405
if constexpr (internal::fail_fast_v<ProcessorsType>) {
406406
return std::make_pair(set, std::move(errors).error());
407407
} else {
408-
if (errors.size() != 0) {
408+
if (errors.size() != 0) [[unlikely]] {
409409
return std::make_pair(set, to_single_error_message(errors));
410410
}
411411
return std::make_pair(set, std::optional<Error>());
@@ -419,12 +419,12 @@ struct NamedTupleParser {
419419
const auto reader = ViewReaderWithDefaultType(&_r, _view, &errors);
420420
if constexpr (_no_field_names) {
421421
const auto err = _r.read_array(reader, _obj_or_arr);
422-
if (err) {
422+
if (err) [[unlikely]] {
423423
return err;
424424
}
425425
} else {
426426
const auto err = _r.read_object(reader, _obj_or_arr);
427-
if (err) {
427+
if (err) [[unlikely]] {
428428
return err;
429429
}
430430
}
@@ -438,7 +438,7 @@ struct NamedTupleParser {
438438
if constexpr (internal::fail_fast_v<ProcessorsType>) {
439439
return std::move(errors).error();
440440
} else {
441-
if (errors.size() != 0) {
441+
if (errors.size() != 0) [[unlikely]] {
442442
return to_single_error_message(errors);
443443
}
444444
return std::nullopt;

‎include/rfl/parsing/ViewReader.hpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ class ViewReader {
105105
std::get<i>(*_found) = true;
106106
*_already_assigned = true;
107107
auto res = Parser<R, W, T, ProcessorsType>::read(_r, _var);
108-
if (!res) {
108+
if (!res) [[unlikely]] {
109109
constexpr auto name = FieldType::name();
110110
std::stringstream stream;
111111
stream << "Failed to parse field '" << name
@@ -141,7 +141,7 @@ class ViewReader {
141141
std::get<_pos>(*_found) = true;
142142
}
143143
auto res = Parser<R, W, T, ProcessorsType>::read(_r, _var);
144-
if (!res) {
144+
if (!res) [[unlikely]] {
145145
std::stringstream stream;
146146
stream << "Failed to parse field '" << _current_name
147147
<< "': " << res.error().what();

0 commit comments

Comments
 (0)