diff options
author | Maxim Yurchuk <maxim-yurchuk@ydb.tech> | 2024-11-20 17:37:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-20 17:37:57 +0000 |
commit | f76323e9b295c15751e51e3443aa47a36bee8023 (patch) | |
tree | 4113c8cad473a33e0f746966e0cf087252fa1d7a /util/system/filemap.h | |
parent | 753ecb8d410a4cb459c26f3a0082fb2d1724fe63 (diff) | |
parent | a7b9a6afea2a9d7a7bfac4c5eb4c1a8e60adb9e6 (diff) | |
download | ydb-f76323e9b295c15751e51e3443aa47a36bee8023.tar.gz |
Merge pull request #11788 from ydb-platform/mergelibs-241120-1113
Library import 241120-1113
Diffstat (limited to 'util/system/filemap.h')
-rw-r--r-- | util/system/filemap.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/util/system/filemap.h b/util/system/filemap.h index 25a7911715..200774593b 100644 --- a/util/system/filemap.h +++ b/util/system/filemap.h @@ -233,8 +233,9 @@ public: return Size_; } const T& GetAt(size_t pos) const { - if (pos < Size_) + if (pos < Size_) { return Ptr_[pos]; + } return Dummy(); } void SetDummy(const T& n_Dummy) { @@ -334,8 +335,9 @@ public: TMappedArray(size_t siz = 0) : TMappedAllocation(0) { - if (siz) + if (siz) { Create(siz); + } } ~TMappedArray() { Destroy(); @@ -343,18 +345,21 @@ public: T* Create(size_t siz) { Y_ASSERT(MappedSize() == 0 && Ptr() == nullptr); T* arr = (T*)Alloc((sizeof(T) * siz)); - if (!arr) + if (!arr) { return nullptr; + } Y_ASSERT(MappedSize() == sizeof(T) * siz); - for (size_t n = 0; n < siz; n++) + for (size_t n = 0; n < siz; n++) { new (&arr[n]) T(); + } return arr; } void Destroy() { T* arr = (T*)Ptr(); if (arr) { - for (size_t n = 0; n < size(); n++) + for (size_t n = 0; n < size(); n++) { arr[n].~T(); + } Dealloc(); } } |