diff options
author | tobo <tobo@yandex-team.com> | 2022-09-30 16:06:24 +0300 |
---|---|---|
committer | tobo <tobo@yandex-team.com> | 2022-09-30 16:06:24 +0300 |
commit | c391c3a2b201e8f113aea0fb26d947520eba0626 (patch) | |
tree | 6181c84c38316b35dd59bcd8b6bfa19b3c25e01c /library/cpp/containers/paged_vector/paged_vector.h | |
parent | 0eb8f19e3c049c6509b831b0bf2935f1b9250290 (diff) | |
download | ydb-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.h | 7 |
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) { |