From d26db78f0d880d44ee6275a86153b934f5d6036b Mon Sep 17 00:00:00 2001 From: q66 Date: Tue, 14 Apr 2015 23:14:19 +0100 Subject: [PATCH] move stuff instead of copy, forward correctly in emplace_back --- octa/vector.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/octa/vector.h b/octa/vector.h index 186f071..880ea63 100644 --- a/octa/vector.h +++ b/octa/vector.h @@ -116,7 +116,7 @@ namespace octa { } else { T *cur = p_buf, *tcur = tmp, *last = tmp + p_len; while (tcur != last) { - new (tcur++) T(*cur); + new (tcur++) T(move(*cur)); (*cur).~T(); ++cur; } @@ -147,7 +147,7 @@ namespace octa { template T &emplace_back(U &&...args) { if (p_len == p_cap) reserve(p_len + 1); - new (&p_buf[p_len]) T(args...); + new (&p_buf[p_len]) T(forward(args)...); return p_buf[p_len++]; }