aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/containers/paged_vector/paged_vector.h
diff options
context:
space:
mode:
authortobo <tobo@yandex-team.com>2022-09-30 16:06:24 +0300
committertobo <tobo@yandex-team.com>2022-09-30 16:06:24 +0300
commitc391c3a2b201e8f113aea0fb26d947520eba0626 (patch)
tree6181c84c38316b35dd59bcd8b6bfa19b3c25e01c /library/cpp/containers/paged_vector/paged_vector.h
parent0eb8f19e3c049c6509b831b0bf2935f1b9250290 (diff)
downloadydb-c391c3a2b201e8f113aea0fb26d947520eba0626.tar.gz
emplace_back() with arguments support + return reference for consistency with TVector
Diffstat (limited to 'library/cpp/containers/paged_vector/paged_vector.h')
-rw-r--r--library/cpp/containers/paged_vector/paged_vector.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/library/cpp/containers/paged_vector/paged_vector.h b/library/cpp/containers/paged_vector/paged_vector.h
index 62a8574476..0a6dd8f83c 100644
--- a/library/cpp/containers/paged_vector/paged_vector.h
+++ b/library/cpp/containers/paged_vector/paged_vector.h
@@ -7,7 +7,7 @@
#include <iterator>
namespace NPagedVector {
- template <class T, ui32 PageSize = 1u << 20, class A = std::allocator<T>>
+ template <class T, ui32 PageSize = 1u << 20u, class A = std::allocator<T>>
class TPagedVector;
namespace NPrivate {
@@ -263,9 +263,10 @@ namespace NPagedVector {
return !empty();
}
- void emplace_back() {
+ template<typename... Args>
+ reference emplace_back(Args&&... args) {
PrepareAppend();
- CurrentPage().emplace_back();
+ return CurrentPage().emplace_back(std::forward<Args>(args)...);
}
void push_back(const_reference t) {