summaryrefslogtreecommitdiffstats
path: root/mmss/queue.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'mmss/queue.hpp')
-rw-r--r--mmss/queue.hpp6
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() {