diff options
author | vadim-xd <vadim-xd@yandex-team.com> | 2025-03-06 23:16:47 +0300 |
---|---|---|
committer | vadim-xd <vadim-xd@yandex-team.com> | 2025-03-06 23:29:53 +0300 |
commit | 9b0a13bddce49bfb5ea59d8c4a668d32d7dada3b (patch) | |
tree | 703460061dcc9d4b2905303cd47964909cd7ec18 /library/cpp/containers/compact_vector/compact_vector.h | |
parent | 6294a7d3a99349c80ab2fc1ced8a246eb7d14208 (diff) | |
download | ydb-9b0a13bddce49bfb5ea59d8c4a668d32d7dada3b.tar.gz |
Return reference from TCompactVector::emplace_back
Fixup rXXXXXX
commit_hash:775dffda71dd0a6ad0e91ca361b27ba4f15a0039
Diffstat (limited to 'library/cpp/containers/compact_vector/compact_vector.h')
-rw-r--r-- | library/cpp/containers/compact_vector/compact_vector.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/library/cpp/containers/compact_vector/compact_vector.h b/library/cpp/containers/compact_vector/compact_vector.h index cff5345ee2..c055bd49da 100644 --- a/library/cpp/containers/compact_vector/compact_vector.h +++ b/library/cpp/containers/compact_vector/compact_vector.h @@ -234,15 +234,16 @@ public: } template <class... Args> - void EmplaceBack(Args&&... args) { + T& EmplaceBack(Args&&... args) { Reserve(Size() + 1); - new (Ptr + Size()) T(std::forward<Args>(args)...); + auto* t = new (Ptr + Size()) T(std::forward<Args>(args)...); ++(Header()->Size); + return *t; } template <class... Args> - void emplace_back(Args&&... args) { - EmplaceBack(std::forward<Args>(args)...); + T& emplace_back(Args&&... args) { + return EmplaceBack(std::forward<Args>(args)...); } T& Back() { |