diff options
author | dgolear <[email protected]> | 2025-07-10 22:33:21 +0300 |
---|---|---|
committer | dgolear <[email protected]> | 2025-07-10 22:56:45 +0300 |
commit | 5f7c8cead6f7a3f7bea3f01cb168eb1f7a926879 (patch) | |
tree | 96517df0eaef6d7553ad127257902f0ff0707e4a /library/cpp/yt/compact_containers/compact_set-inl.h | |
parent | 612146bc655489da23249308c666ca9eb2ef6509 (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.h | 28 |
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(); |