diff options
| author | kmokrov <[email protected]> | 2025-04-21 13:59:39 +0300 |
|---|---|---|
| committer | kmokrov <[email protected]> | 2025-04-21 14:13:40 +0300 |
| commit | 4893a627c1747524edcc766ea1e1b6907999c1c3 (patch) | |
| tree | 1e82ed19dd5b2e9630b36046b6b98e800e464bb1 | |
| parent | bec56a4851da142085dcc9727c51127a20de0742 (diff) | |
YTORM: Use (From|To)Proto methods from yt/yt/core
commit_hash:73c27f665b4988fbc1db7e192fc14aa22125f76c
| -rw-r--r-- | yt/yt/core/misc/protobuf_helpers-inl.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/yt/yt/core/misc/protobuf_helpers-inl.h b/yt/yt/core/misc/protobuf_helpers-inl.h index dc73588308f..cfc774c563e 100644 --- a/yt/yt/core/misc/protobuf_helpers-inl.h +++ b/yt/yt/core/misc/protobuf_helpers-inl.h @@ -486,8 +486,8 @@ void ToProto( { serializedMap->clear(); for (const auto& [key, value] : originalMap) { - auto [_, inserted] = serializedMap->insert(std::pair(ToProto<TSerializedKey>(key), ToProto<TSerializedValue>(value))); - if (!inserted) { + auto [_, emplaced] = serializedMap->emplace(ToProto<TSerializedKey>(key), ToProto<TSerializedValue>(value)); + if (!emplaced) { THROW_ERROR_EXCEPTION("Found duplicate key during protobuf map serialization") << TErrorAttribute("key", key) << TErrorAttribute("serialized_key", ToProto<TSerializedKey>(key)); @@ -537,10 +537,12 @@ void FromProto( const ::google::protobuf::Map<TSerializedKey, TSerializedValue>& serializedMap) { originalMap->clear(); + originalMap->reserve(serializedMap.size()); for (const auto& [serializedKey, serializedValue] : serializedMap) { - auto [_, inserted] = originalMap->emplace(FromProto<TKey>(serializedKey), FromProto<TValue>(serializedValue)); - if (!inserted) { + auto [_, emplaced] = originalMap->emplace(FromProto<TKey>(serializedKey), FromProto<TValue>(serializedValue)); + if (!emplaced) { THROW_ERROR_EXCEPTION("Found duplicate key during protobuf map deserialization") + << TErrorAttribute("serialized_key", serializedKey) << TErrorAttribute("key", FromProto<TKey>(serializedKey)); } } |
