mirror of
https://github.com/boostorg/parser.git
synced 2026-02-21 03:12:08 +00:00
Avoid creation of temp_result object in seq_parser
The object is never used, only its type is used.
This commit is contained in:
@@ -4295,10 +4295,10 @@ namespace boost { namespace parser {
|
||||
{
|
||||
Iter first = first_;
|
||||
|
||||
auto temp_result =
|
||||
make_temp_result(first, last, context, skip, flags, success);
|
||||
using temp_result_t =
|
||||
decltype(make_temp_result(first, last, context, skip, flags, success));
|
||||
|
||||
std::decay_t<decltype(parser::get(temp_result, llong<0>{}))>
|
||||
std::decay_t<decltype(parser::get(std::declval<temp_result_t>(), llong<0>{}))>
|
||||
retval{};
|
||||
|
||||
[[maybe_unused]] auto _ = detail::scoped_trace(
|
||||
@@ -4310,9 +4310,9 @@ namespace boost { namespace parser {
|
||||
: flags,
|
||||
retval);
|
||||
|
||||
std::decay_t<decltype(parser::get(temp_result, llong<1>{}))>
|
||||
std::decay_t<decltype(parser::get(std::declval<temp_result_t>(), llong<1>{}))>
|
||||
indices;
|
||||
std::decay_t<decltype(parser::get(temp_result, llong<2>{}))>
|
||||
std::decay_t<decltype(parser::get(std::declval<temp_result_t>(), llong<2>{}))>
|
||||
merged;
|
||||
call_impl(
|
||||
first,
|
||||
@@ -4363,13 +4363,13 @@ namespace boost { namespace parser {
|
||||
|
||||
Iter first = first_;
|
||||
|
||||
auto temp_result =
|
||||
make_temp_result(first, last, context, skip, flags, success);
|
||||
using temp_result_t =
|
||||
decltype(make_temp_result(first, last, context, skip, flags, success));
|
||||
using temp_result_attr_t =
|
||||
std::decay_t<decltype(parser::get(temp_result, llong<0>{}))>;
|
||||
std::decay_t<decltype(parser::get(temp_result, llong<1>{}))>
|
||||
std::decay_t<decltype(parser::get(std::declval<temp_result_t>(), llong<0>{}))>;
|
||||
std::decay_t<decltype(parser::get(std::declval<temp_result_t>(), llong<1>{}))>
|
||||
indices;
|
||||
std::decay_t<decltype(parser::get(temp_result, llong<2>{}))> merged;
|
||||
std::decay_t<decltype(parser::get(std::declval<temp_result_t>(), llong<2>{}))> merged;
|
||||
|
||||
auto max_ = [](auto result, auto x) {
|
||||
if constexpr (decltype(result)::value < decltype(x)::value) {
|
||||
|
||||
Reference in New Issue
Block a user