summaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/compact_containers/compact_set-inl.h
diff options
context:
space:
mode:
authordgolear <[email protected]>2025-07-10 22:33:21 +0300
committerdgolear <[email protected]>2025-07-10 22:56:45 +0300
commit5f7c8cead6f7a3f7bea3f01cb168eb1f7a926879 (patch)
tree96517df0eaef6d7553ad127257902f0ff0707e4a /library/cpp/yt/compact_containers/compact_set-inl.h
parent612146bc655489da23249308c666ca9eb2ef6509 (diff)
YT: Allow serializing TCompactSet
commit_hash:733610a293a0c3a2656dbef77630d359c16d3bdf
Diffstat (limited to 'library/cpp/yt/compact_containers/compact_set-inl.h')
-rw-r--r--library/cpp/yt/compact_containers/compact_set-inl.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/library/cpp/yt/compact_containers/compact_set-inl.h b/library/cpp/yt/compact_containers/compact_set-inl.h
index 20736f50833..9842d08fe03 100644
--- a/library/cpp/yt/compact_containers/compact_set-inl.h
+++ b/library/cpp/yt/compact_containers/compact_set-inl.h
@@ -208,6 +208,34 @@ TCompactSet<T, N, C, A>::TCompactSet(const A& allocator)
{ }
template <typename T, size_t N, typename C, typename A>
+template <typename TIterator>
+TCompactSet<T, N, C, A>::TCompactSet(TIterator first, TIterator last)
+{
+ insert(first, last);
+}
+
+template <typename T, size_t N, typename C, typename A>
+TCompactSet<T, N, C, A>::TCompactSet(std::initializer_list<key_type> values)
+{
+ insert(values.begin(), values.end());
+}
+
+template <typename T, size_t N, typename C, typename A>
+bool TCompactSet<T, N, C, A>::operator==(const TCompactSet& rhs) const
+{
+ if (size() != rhs.size()) {
+ return false;
+ }
+
+ for (const auto& value : *this) {
+ if (!rhs.contains(value)) {
+ return false;
+ }
+ }
+ return true;
+}
+
+template <typename T, size_t N, typename C, typename A>
bool TCompactSet<T, N, C, A>::empty() const
{
return Vector_.empty() && Set_.empty();