diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2024-02-03 13:02:20 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2024-02-03 13:13:20 +0300 |
commit | 269e545acb165a523d243928f9586b107933e7c3 (patch) | |
tree | 7d9f22f2ac0f0876a1eef51b860e5a712987e2b3 | |
parent | 0fd18e57c83709eee303a544bdc91337d7139e65 (diff) | |
download | ydb-269e545acb165a523d243928f9586b107933e7c3.tar.gz |
Intermediate changes
-rw-r--r-- | yt/yt/core/misc/intern_registry-inl.h | 4 | ||||
-rw-r--r-- | yt/yt/core/misc/serialize-inl.h | 33 | ||||
-rw-r--r-- | yt/yt/core/misc/serialize.h | 21 |
3 files changed, 12 insertions, 46 deletions
diff --git a/yt/yt/core/misc/intern_registry-inl.h b/yt/yt/core/misc/intern_registry-inl.h index 80d49c45314..ad9a04ce49f 100644 --- a/yt/yt/core/misc/intern_registry-inl.h +++ b/yt/yt/core/misc/intern_registry-inl.h @@ -207,11 +207,11 @@ struct TInternedObjectSerializer const auto& registry = context.template GetInternRegistry<T>(); object = registry->Intern(std::move(value)); auto loadedKey = context.RegisterRefCountedEntity(object.ToDataPtr()); - SERIALIZATION_DUMP_WRITE(context, "objref %v", loadedKey.Index); + SERIALIZATION_DUMP_WRITE(context, "objref %v", loadedKey); } } else { object = TInternedObject<T>::FromDataPtr(context.template GetRefCountedEntity<TInternedObjectData<T>>(key)); - SERIALIZATION_DUMP_WRITE(context, "objref %v", key.Index); + SERIALIZATION_DUMP_WRITE(context, "objref %v", key); } } }; diff --git a/yt/yt/core/misc/serialize-inl.h b/yt/yt/core/misc/serialize-inl.h index cb1eb526bf9..dd39441912d 100644 --- a/yt/yt/core/misc/serialize-inl.h +++ b/yt/yt/core/misc/serialize-inl.h @@ -5,6 +5,7 @@ #endif #include "collection_helpers.h" +#include "maybe_inf.h" #include <library/cpp/yt/small_containers/compact_vector.h> #include <library/cpp/yt/small_containers/compact_flat_map.h> @@ -301,31 +302,6 @@ Y_FORCE_INLINE TLoadContextStream* TStreamLoadContext::GetInput() //////////////////////////////////////////////////////////////////////////////// -inline constexpr TEntitySerializationKey::TEntitySerializationKey() - : Index(-1) -{ } - -inline constexpr TEntitySerializationKey::TEntitySerializationKey(int index) - : Index(index) -{ } - -inline constexpr TEntitySerializationKey::operator bool() const -{ - return Index != -1; -} - -inline void TEntitySerializationKey::Save(TEntityStreamSaveContext& context) const -{ - NYT::Save(context, Index); -} - -inline void TEntitySerializationKey::Load(TEntityStreamLoadContext& context) -{ - NYT::Load(context, Index); -} - -//////////////////////////////////////////////////////////////////////////////// - inline TEntitySerializationKey TEntityStreamSaveContext::GenerateSerializationKey() { YT_VERIFY(!ParentContext_); @@ -390,9 +366,10 @@ T* TEntityStreamLoadContext::GetRawEntity(TEntitySerializationKey key) const return ParentContext_->GetRawEntity<T>(key); } - YT_ASSERT(key.Index >= 0); - YT_ASSERT(key.Index < std::ssize(RawPtrs_)); - return static_cast<T*>(RawPtrs_[key.Index]); + auto index = key.Underlying(); + YT_ASSERT(index >= 0); + YT_ASSERT(index < std::ssize(RawPtrs_)); + return static_cast<T*>(RawPtrs_[index]); } template <class T> diff --git a/yt/yt/core/misc/serialize.h b/yt/yt/core/misc/serialize.h index 539f980a91a..4bc65cfdb10 100644 --- a/yt/yt/core/misc/serialize.h +++ b/yt/yt/core/misc/serialize.h @@ -5,13 +5,14 @@ #include "mpl.h" #include "property.h" #include "serialize_dump.h" - #include "maybe_inf.h" #include <library/cpp/yt/assert/assert.h> #include <library/cpp/yt/memory/ref.h> +#include <library/cpp/yt/misc/strong_typedef.h> + #include <util/stream/buffered.h> #include <util/stream/file.h> #include <util/stream/zerocopy_output.h> @@ -212,20 +213,8 @@ private: //////////////////////////////////////////////////////////////////////////////// -struct TEntitySerializationKey -{ - constexpr TEntitySerializationKey(); - constexpr explicit TEntitySerializationKey(int index); - - constexpr bool operator==(const TEntitySerializationKey& other) const = default; - - constexpr explicit operator bool() const; - - void Save(TEntityStreamSaveContext& context) const; - void Load(TEntityStreamLoadContext& context); - - int Index; -}; +YT_DEFINE_STRONG_TYPEDEF(TEntitySerializationKey, i32); +constexpr auto NullEntitySerializationKey = TEntitySerializationKey(-1); //////////////////////////////////////////////////////////////////////////////// @@ -241,7 +230,7 @@ public: TEntitySerializationKey GenerateSerializationKey(); - static inline const TEntitySerializationKey InlineKey = TEntitySerializationKey(-3); + static constexpr TEntitySerializationKey InlineKey = TEntitySerializationKey(-3); template <class T> TEntitySerializationKey RegisterRawEntity(T* entity); |