diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2013-07-27 00:33:10 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2013-07-27 00:33:10 +0200 |
commit | cb5d5a9397928b0c1c844f35e5cae14a52955526 (patch) | |
tree | 638d2e03cb30aa546ff4e06ef9fea6302851c7e5 /mmss/queue.hpp | |
parent | f97d1e15699d281911274911f83acbdc07e1f27e (diff) | |
download | gmrf-cb5d5a9397928b0c1c844f35e5cae14a52955526.tar gmrf-cb5d5a9397928b0c1c844f35e5cae14a52955526.zip |
More small optimizations
Diffstat (limited to 'mmss/queue.hpp')
-rw-r--r-- | mmss/queue.hpp | 6 |
1 files changed, 3 insertions, 3 deletions
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<typename T> class timeout_queue_t { std::shared_ptr<T> data; uint64_t timeout; - element_t(const std::shared_ptr<T> &data0, uint64_t timeout0) : data(data0), timeout(timeout0) {} + element_t(std::shared_ptr<T> &&data0, uint64_t timeout0) : data(std::move(data0)), timeout(timeout0) {} }; context_t *mmss; @@ -49,13 +49,13 @@ template<typename T> class timeout_queue_t { public: timeout_queue_t(context_t *mmss0) : mmss(mmss0) {} - void put(const std::shared_ptr<T> &data, uint64_t timeout) { + void put(std::shared_ptr<T> &&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<T> get() { |