From cb5d5a9397928b0c1c844f35e5cae14a52955526 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 27 Jul 2013 00:33:10 +0200 Subject: More small optimizations --- mmss/queue.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'mmss/queue.hpp') diff --git a/mmss/queue.hpp b/mmss/queue.hpp index 1b1d2af..8efaa97 100644 --- a/mmss/queue.hpp +++ b/mmss/queue.hpp @@ -39,7 +39,7 @@ template class timeout_queue_t { std::shared_ptr data; uint64_t timeout; - element_t(const std::shared_ptr &data0, uint64_t timeout0) : data(data0), timeout(timeout0) {} + element_t(std::shared_ptr &&data0, uint64_t timeout0) : data(std::move(data0)), timeout(timeout0) {} }; context_t *mmss; @@ -49,13 +49,13 @@ template class timeout_queue_t { public: timeout_queue_t(context_t *mmss0) : mmss(mmss0) {} - void put(const std::shared_ptr &data, uint64_t timeout) { + void put(std::shared_ptr &&data, uint64_t timeout) { auto it = queue.begin(), end = queue.end(); while (it != end && it->timeout < timeout) ++it; - queue.insert(it, element_t(data, timeout)); + queue.emplace(it, std::move(data), timeout); } std::shared_ptr get() { -- cgit v1.2.3