utils/managed_vector: Return reference to emplaced element

We are in 2018, after all.

Signed-off-by: Duarte Nunes <duarte@scylladb.com>
Message-Id: <20180126105417.54285-1-duarte@scylladb.com>
This commit is contained in:
Duarte Nunes
2018-01-26 10:54:17 +00:00
committed by Tomasz Grabiec
parent 269a4aec23
commit bfe5a8e96f

View File

@@ -211,10 +211,11 @@ public:
emplace_back(std::move(value));
}
template<typename... Args>
void emplace_back(Args&&... args) {
T& emplace_back(Args&&... args) {
maybe_grow(_size + 1);
new (_data + _size) T(std::forward<Args>(args)...);
T* elem = new (_data + _size) T(std::forward<Args>(args)...);
_size++;
return *elem;
}
void pop_back() {
_data[_size - 1].~T();