Skip to content

Commit

Permalink
Capture by move in lambdas where applicable
Browse files Browse the repository at this point in the history
  • Loading branch information
BrettDong committed Nov 24, 2023
1 parent 8fc8b57 commit 02f2caa
Showing 1 changed file with 12 additions and 13 deletions.
25 changes: 12 additions & 13 deletions src/mission_util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -439,10 +439,10 @@ mission_target_params mission_util::parse_mission_om_target( const JsonObject &j
void mission_util::set_reveal( const std::string &terrain,
std::vector<std::function<void( mission *miss )>> &funcs )
{
const auto mission_func = [ terrain ]( mission * miss ) {
auto mission_func = [ terrain ]( mission * miss ) {
reveal_target( miss, terrain );
};
funcs.emplace_back( mission_func );
funcs.emplace_back( std::move( mission_func ) );
}

void mission_util::set_reveal_any( const JsonArray &ja,
Expand All @@ -452,23 +452,22 @@ void mission_util::set_reveal_any( const JsonArray &ja,
for( const std::string terrain : ja ) {
terrains.push_back( terrain );
}
const auto mission_func = [ terrains ]( mission * miss ) {
auto mission_func = [ terrains = std::move( terrains ) ]( mission * miss ) {
reveal_any_target( miss, terrains );
};
funcs.emplace_back( mission_func );
funcs.emplace_back( std::move( mission_func ) );
}

void mission_util::set_assign_om_target( const JsonObject &jo,
std::vector<std::function<void( mission *miss )>> &funcs )
{
mission_target_params p = parse_mission_om_target( jo );
const auto mission_func = [p]( mission * miss ) {
mission_target_params mtp = p;
mtp.mission_pointer = miss;
auto mission_func = [p = std::move( p )]( mission * miss ) mutable {
p.mission_pointer = miss;
dialogue d( get_talker_for( get_avatar() ), nullptr );
assign_mission_target( mtp, d );
assign_mission_target( p, d );
};
funcs.emplace_back( mission_func );
funcs.emplace_back( std::move( mission_func ) );
}

bool mission_util::set_update_mapgen( const JsonObject &jo,
Expand All @@ -483,17 +482,17 @@ bool mission_util::set_update_mapgen( const JsonObject &jo,

if( jo.has_member( "om_terrain" ) ) {
const std::string om_terrain = jo.get_string( "om_terrain" );
const auto mission_func = [update_map, om_terrain]( mission * miss ) {
auto mission_func = [update_map = std::move( update_map ), om_terrain]( mission * miss ) {
tripoint_abs_omt update_pos3 = mission_util::reveal_om_ter( om_terrain, 1, false );
update_map( update_pos3, miss );
};
funcs.emplace_back( mission_func );
funcs.emplace_back( std::move( mission_func ) );
} else {
const auto mission_func = [update_map]( mission * miss ) {
auto mission_func = [update_map = std::move( update_map )]( mission * miss ) {
tripoint_abs_omt update_pos3 = miss->get_target();
update_map( update_pos3, miss );
};
funcs.emplace_back( mission_func );
funcs.emplace_back( std::move( mission_func ) );
}
return true;
}
Expand Down

0 comments on commit 02f2caa

Please sign in to comment.