and use explicit std::move() when map::merge() is not available.
Signed-off-by: Kefu Chai <kchai@redhat.com>
ctl.journaled_update.merge(ctl.to_update);
ctl.journaled_remove.merge(ctl.to_remove);
#else
- ctl.journaled_update.insert(ctl.to_update.begin(), ctl.to_update.end());
- ctl.journaled_remove.insert(ctl.to_remove.begin(), ctl.to_remove.end());
+ ctl.journaled_update.insert(make_move_iterator(begin(ctl.to_update)),
+ make_move_iterator(end(ctl.to_update)));
+ ctl.journaled_remove.insert(make_move_iterator(begin(ctl.to_remove)),
+ make_move_iterator(end(ctl.to_remove)));
#endif
ctl.to_update.clear();
ctl.to_remove.clear();
void OSDService::_sent_pg_temp()
{
+#ifdef HAVE_STDLIB_MAP_SPLICING
+ pg_temp_pending.merge(pg_temp_wanted);
+#else
pg_temp_pending.insert(make_move_iterator(begin(pg_temp_wanted)),
make_move_iterator(end(pg_temp_wanted)));
+#endif
pg_temp_wanted.clear();
}