From bfe5a8e96fb58bc2d305eef32dbca751201f7235 Mon Sep 17 00:00:00 2001 From: Duarte Nunes Date: Fri, 26 Jan 2018 10:54:17 +0000 Subject: [PATCH] utils/managed_vector: Return reference to emplaced element We are in 2018, after all. Signed-off-by: Duarte Nunes Message-Id: <20180126105417.54285-1-duarte@scylladb.com> --- utils/managed_vector.hh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/utils/managed_vector.hh b/utils/managed_vector.hh index 07ba8bc4c5..834e88b8cd 100644 --- a/utils/managed_vector.hh +++ b/utils/managed_vector.hh @@ -211,10 +211,11 @@ public: emplace_back(std::move(value)); } template - void emplace_back(Args&&... args) { + T& emplace_back(Args&&... args) { maybe_grow(_size + 1); - new (_data + _size) T(std::forward(args)...); + T* elem = new (_data + _size) T(std::forward(args)...); _size++; + return *elem; } void pop_back() { _data[_size - 1].~T();