aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbabenko <babenko@yandex-team.com>2023-04-29 16:16:39 +0300
committerbabenko <babenko@yandex-team.com>2023-04-29 16:16:39 +0300
commit6eab40fb881699917740b26457b8c247442aa166 (patch)
treee8826da7e6b2a4b7f050ef4d3fd9417604743fea
parent9a5be7417481c2ade2dcc72952a3320600256084 (diff)
downloadydb-6eab40fb881699917740b26457b8c247442aa166.tar.gz
Drop hash_helpers.h
-rw-r--r--library/cpp/yt/small_containers/CMakeLists.darwin-x86_64.txt1
-rw-r--r--library/cpp/yt/small_containers/CMakeLists.linux-aarch64.txt1
-rw-r--r--library/cpp/yt/small_containers/CMakeLists.linux-x86_64.txt1
-rw-r--r--library/cpp/yt/small_containers/CMakeLists.windows-x86_64.txt1
-rw-r--r--library/cpp/yt/small_containers/compact_vector-inl.h17
5 files changed, 21 insertions, 0 deletions
diff --git a/library/cpp/yt/small_containers/CMakeLists.darwin-x86_64.txt b/library/cpp/yt/small_containers/CMakeLists.darwin-x86_64.txt
index 7f0c283498..e926e3a3d8 100644
--- a/library/cpp/yt/small_containers/CMakeLists.darwin-x86_64.txt
+++ b/library/cpp/yt/small_containers/CMakeLists.darwin-x86_64.txt
@@ -13,4 +13,5 @@ target_link_libraries(cpp-yt-small_containers INTERFACE
yutil
cpp-yt-assert
cpp-yt-malloc
+ cpp-yt-misc
)
diff --git a/library/cpp/yt/small_containers/CMakeLists.linux-aarch64.txt b/library/cpp/yt/small_containers/CMakeLists.linux-aarch64.txt
index bc2b88bf40..edb8d5f56a 100644
--- a/library/cpp/yt/small_containers/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/yt/small_containers/CMakeLists.linux-aarch64.txt
@@ -14,4 +14,5 @@ target_link_libraries(cpp-yt-small_containers INTERFACE
yutil
cpp-yt-assert
cpp-yt-malloc
+ cpp-yt-misc
)
diff --git a/library/cpp/yt/small_containers/CMakeLists.linux-x86_64.txt b/library/cpp/yt/small_containers/CMakeLists.linux-x86_64.txt
index bc2b88bf40..edb8d5f56a 100644
--- a/library/cpp/yt/small_containers/CMakeLists.linux-x86_64.txt
+++ b/library/cpp/yt/small_containers/CMakeLists.linux-x86_64.txt
@@ -14,4 +14,5 @@ target_link_libraries(cpp-yt-small_containers INTERFACE
yutil
cpp-yt-assert
cpp-yt-malloc
+ cpp-yt-misc
)
diff --git a/library/cpp/yt/small_containers/CMakeLists.windows-x86_64.txt b/library/cpp/yt/small_containers/CMakeLists.windows-x86_64.txt
index 7f0c283498..e926e3a3d8 100644
--- a/library/cpp/yt/small_containers/CMakeLists.windows-x86_64.txt
+++ b/library/cpp/yt/small_containers/CMakeLists.windows-x86_64.txt
@@ -13,4 +13,5 @@ target_link_libraries(cpp-yt-small_containers INTERFACE
yutil
cpp-yt-assert
cpp-yt-malloc
+ cpp-yt-misc
)
diff --git a/library/cpp/yt/small_containers/compact_vector-inl.h b/library/cpp/yt/small_containers/compact_vector-inl.h
index 52507e4768..5c7b587e7a 100644
--- a/library/cpp/yt/small_containers/compact_vector-inl.h
+++ b/library/cpp/yt/small_containers/compact_vector-inl.h
@@ -9,6 +9,8 @@
#include <library/cpp/yt/malloc/malloc.h>
+#include <library/cpp/yt/misc/hash.h>
+
#include <util/system/compiler.h>
#include <algorithm>
@@ -1008,4 +1010,19 @@ void swap(NYT::TCompactVector<T, N>& lhs, NYT::TCompactVector<T, N>& rhs)
////////////////////////////////////////////////////////////////////////////////
+template <class T, size_t N>
+struct hash<NYT::TCompactVector<T, N>>
+{
+ size_t operator()(const NYT::TCompactVector<T, N>& container) const
+ {
+ size_t result = 0;
+ for (const auto& element : container) {
+ NYT::HashCombine(result, element);
+ }
+ return result;
+ }
+};
+
+////////////////////////////////////////////////////////////////////////////////
+
} // namespace std