aboutsummaryrefslogtreecommitdiffstats
path: root/tools/enum_parser/enum_serialization_runtime
diff options
context:
space:
mode:
authorarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-05-25 09:07:37 +0300
committerarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-05-25 09:07:37 +0300
commit8583a3a0c95359629a3fd0816588a3f550ff4489 (patch)
tree0c031ebc7e67f2f32fd9c24d9d563d9d70e615d1 /tools/enum_parser/enum_serialization_runtime
parentb1826fcfe6cc1ada0fa9bd0fc4366ef04e2c52d9 (diff)
downloadydb-8583a3a0c95359629a3fd0816588a3f550ff4489.tar.gz
intermediate changes
ref:0bc6b460c17cb0983ee7c2afa9cd22398e601bc8
Diffstat (limited to 'tools/enum_parser/enum_serialization_runtime')
-rw-r--r--tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp21
-rw-r--r--tools/enum_parser/enum_serialization_runtime/enum_runtime.h2
2 files changed, 7 insertions, 16 deletions
diff --git a/tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp b/tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp
index 73d38b396a..2e7cc7f826 100644
--- a/tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp
+++ b/tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp
@@ -55,21 +55,12 @@ namespace NEnumSerializationRuntime {
const TArrayRef<const TStringBuf>& cppNamesInitializer = enumInitData.CppNamesInitializer;
TMap<TRepresentationType, TString> mapValueToName;
- TMap<TString, TRepresentationType> mapNameToValue;
- const bool bijectiveHint = (namesInitializer.data() == valuesInitializer.data() && namesInitializer.size() == valuesInitializer.size());
- if (bijectiveHint) {
- for (const TEnumStringPair& it : namesInitializer) {
- TString name{it.Name};
- mapValueToName.emplace(it.Key, name);
- mapNameToValue.emplace(std::move(name), it.Key);
- }
- } else {
- for (const TEnumStringPair& it : namesInitializer) {
- mapValueToName.emplace(it.Key, TString(it.Name));
- }
- for (const TEnumStringPair& it : valuesInitializer) {
- mapNameToValue.emplace(TString(it.Name), it.Key);
- }
+ TMap<TStringBuf, TRepresentationType> mapNameToValue;
+ for (const TEnumStringPair& it : namesInitializer) {
+ mapValueToName.emplace(it.Key, TString(it.Name));
+ }
+ for (const TEnumStringPair& it : valuesInitializer) {
+ mapNameToValue.emplace(it.Name, it.Key);
}
Names = std::move(mapValueToName);
Values = std::move(mapNameToValue);
diff --git a/tools/enum_parser/enum_serialization_runtime/enum_runtime.h b/tools/enum_parser/enum_serialization_runtime/enum_runtime.h
index f157d43109..83c7a49b0a 100644
--- a/tools/enum_parser/enum_serialization_runtime/enum_runtime.h
+++ b/tools/enum_parser/enum_serialization_runtime/enum_runtime.h
@@ -58,7 +58,7 @@ namespace NEnumSerializationRuntime {
private:
TMap<TRepresentationType, TString> Names;
- TMap<TString, TRepresentationType> Values;
+ TMap<TStringBuf, TRepresentationType> Values;
TString AllNames;
TVector<TString> AllCppNames;
TString ClassName;