mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-26 10:43:47 +08:00
Prefer swap() member function to std::swap. We were hitting the
inefficient generic std::swap for some derived types.
This commit is contained in:
parent
a4cafaad2e
commit
b520a03c57
|
@ -235,9 +235,8 @@ static int builtin_set_color(parser_t &parser, wchar_t **argv)
|
|||
output_set_writer(saved_writer_func);
|
||||
|
||||
/* Output the collected string */
|
||||
std::string local_output;
|
||||
std::swap(builtin_set_color_output, local_output);
|
||||
stdout_buffer.append(str2wcstring(local_output));
|
||||
stdout_buffer.append(str2wcstring(builtin_set_color_output));
|
||||
builtin_set_color_output.clear();
|
||||
|
||||
return STATUS_BUILTIN_OK;
|
||||
}
|
||||
|
|
|
@ -350,7 +350,7 @@ bool plain_statement_get_expanded_command(const wcstring &src, const parse_node_
|
|||
if (expand_one(cmd, EXPAND_SKIP_CMDSUBST | EXPAND_SKIP_VARIABLES | EXPAND_SKIP_JOBS))
|
||||
{
|
||||
/* Success, return the expanded string by reference */
|
||||
std::swap(cmd, *out_cmd);
|
||||
out_cmd->swap(cmd);
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1090,7 +1090,7 @@ bool parse_execution_context_t::determine_io_chain(const parse_node_t &statement
|
|||
|
||||
if (out_chain && ! errored)
|
||||
{
|
||||
std::swap(*out_chain, result);
|
||||
out_chain->swap(result);
|
||||
}
|
||||
return ! errored;
|
||||
}
|
||||
|
|
|
@ -687,13 +687,13 @@ void parse_ll_t::acquire_output(parse_node_tree_t *output, parse_error_list_t *e
|
|||
{
|
||||
if (output != NULL)
|
||||
{
|
||||
std::swap(*output, this->nodes);
|
||||
output->swap(this->nodes);
|
||||
}
|
||||
this->nodes.clear();
|
||||
|
||||
if (errors != NULL)
|
||||
{
|
||||
std::swap(*errors, this->errors);
|
||||
errors->swap(this->errors);
|
||||
}
|
||||
this->errors.clear();
|
||||
this->symbol_stack.clear();
|
||||
|
|
Loading…
Reference in New Issue
Block a user