aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/containers/compact_vector/compact_vector.h
diff options
context:
space:
mode:
authorvadim-xd <vadim-xd@yandex-team.com>2025-03-06 23:16:47 +0300
committervadim-xd <vadim-xd@yandex-team.com>2025-03-06 23:29:53 +0300
commit9b0a13bddce49bfb5ea59d8c4a668d32d7dada3b (patch)
tree703460061dcc9d4b2905303cd47964909cd7ec18 /library/cpp/containers/compact_vector/compact_vector.h
parent6294a7d3a99349c80ab2fc1ced8a246eb7d14208 (diff)
downloadydb-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.h9
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() {