aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/protobuf/json/proto2json_printer.cpp
diff options
context:
space:
mode:
authormarakasov <marakasov@yandex-team.ru>2022-02-10 16:49:50 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:50 +0300
commit359de4829c1d82b06fad5e0ad82470e4e9f27c89 (patch)
treea58ba6d37e60106215ea04536f6f33d3e2fe4f6f /library/cpp/protobuf/json/proto2json_printer.cpp
parentd94c2eed82b3c1259ac7320eb28e9731cd990c22 (diff)
downloadydb-359de4829c1d82b06fad5e0ad82470e4e9f27c89.tar.gz
Restoring authorship annotation for <marakasov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/protobuf/json/proto2json_printer.cpp')
-rw-r--r--library/cpp/protobuf/json/proto2json_printer.cpp66
1 files changed, 33 insertions, 33 deletions
diff --git a/library/cpp/protobuf/json/proto2json_printer.cpp b/library/cpp/protobuf/json/proto2json_printer.cpp
index 6123eab0f2..145dbcabfc 100644
--- a/library/cpp/protobuf/json/proto2json_printer.cpp
+++ b/library/cpp/protobuf/json/proto2json_printer.cpp
@@ -201,8 +201,8 @@ namespace NProtobufJson {
json.WriteKey(key).Write(value); \
} \
break; \
- }
-
+ }
+
const Reflection* reflection = proto.GetReflection();
bool shouldPrintField = reflection->HasField(proto, &field);
@@ -218,10 +218,10 @@ namespace NProtobufJson {
if (shouldPrintField) {
switch (field.cpp_type()) {
- INT_FIELD_TO_JSON(CPPTYPE_INT32, GetInt32);
- INT_FIELD_TO_JSON(CPPTYPE_INT64, GetInt64);
- INT_FIELD_TO_JSON(CPPTYPE_UINT32, GetUInt32);
- INT_FIELD_TO_JSON(CPPTYPE_UINT64, GetUInt64);
+ INT_FIELD_TO_JSON(CPPTYPE_INT32, GetInt32);
+ INT_FIELD_TO_JSON(CPPTYPE_INT64, GetInt64);
+ INT_FIELD_TO_JSON(CPPTYPE_UINT32, GetUInt32);
+ INT_FIELD_TO_JSON(CPPTYPE_UINT64, GetUInt64);
FIELD_TO_JSON(CPPTYPE_DOUBLE, GetDouble);
FIELD_TO_JSON(CPPTYPE_FLOAT, GetFloat);
FIELD_TO_JSON(CPPTYPE_BOOL, GetBool);
@@ -487,31 +487,31 @@ namespace NProtobufJson {
}
}
- template <class T, class U>
- std::enable_if_t<!std::is_unsigned<T>::value, bool> ValueInRange(T value, U range) {
- return value >= -range && value <= range;
- }
-
- template <class T, class U>
- std::enable_if_t<std::is_unsigned<T>::value, bool> ValueInRange(T value, U range) {
- return value <= (std::make_unsigned_t<U>)(range);
- }
-
- template <class T>
- bool TProto2JsonPrinter::NeedStringifyNumber(T value) const {
- constexpr long SAFE_INTEGER_RANGE_FLOAT = 16777216;
- constexpr long long SAFE_INTEGER_RANGE_DOUBLE = 9007199254740992;
-
- switch (GetConfig().StringifyLongNumbers) {
- case TProto2JsonConfig::StringifyLongNumbersNever:
- return false;
- case TProto2JsonConfig::StringifyLongNumbersForFloat:
- return !ValueInRange(value, SAFE_INTEGER_RANGE_FLOAT);
- case TProto2JsonConfig::StringifyLongNumbersForDouble:
- return !ValueInRange(value, SAFE_INTEGER_RANGE_DOUBLE);
- }
-
- return false;
- }
-
+ template <class T, class U>
+ std::enable_if_t<!std::is_unsigned<T>::value, bool> ValueInRange(T value, U range) {
+ return value >= -range && value <= range;
+ }
+
+ template <class T, class U>
+ std::enable_if_t<std::is_unsigned<T>::value, bool> ValueInRange(T value, U range) {
+ return value <= (std::make_unsigned_t<U>)(range);
+ }
+
+ template <class T>
+ bool TProto2JsonPrinter::NeedStringifyNumber(T value) const {
+ constexpr long SAFE_INTEGER_RANGE_FLOAT = 16777216;
+ constexpr long long SAFE_INTEGER_RANGE_DOUBLE = 9007199254740992;
+
+ switch (GetConfig().StringifyLongNumbers) {
+ case TProto2JsonConfig::StringifyLongNumbersNever:
+ return false;
+ case TProto2JsonConfig::StringifyLongNumbersForFloat:
+ return !ValueInRange(value, SAFE_INTEGER_RANGE_FLOAT);
+ case TProto2JsonConfig::StringifyLongNumbersForDouble:
+ return !ValueInRange(value, SAFE_INTEGER_RANGE_DOUBLE);
+ }
+
+ return false;
+ }
+
}