diff options
author | sinister <sinister@yandex-team.ru> | 2022-02-10 16:50:50 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:50:50 +0300 |
commit | b76c7a19e20d232ef1e00ccbe68f64a3024d29ed (patch) | |
tree | f8eeda3ddf7f474d0defce552e5eb141e5943509 /library/cpp/yson_pull/detail | |
parent | fd57eb4948385b403f53b2f711399e516d46dcac (diff) | |
download | ydb-b76c7a19e20d232ef1e00ccbe68f64a3024d29ed.tar.gz |
Restoring authorship annotation for <sinister@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/yson_pull/detail')
-rw-r--r-- | library/cpp/yson_pull/detail/lexer_base.h | 52 | ||||
-rw-r--r-- | library/cpp/yson_pull/detail/percent_scalar.h | 62 | ||||
-rw-r--r-- | library/cpp/yson_pull/detail/reader.h | 26 | ||||
-rw-r--r-- | library/cpp/yson_pull/detail/writer.h | 32 |
4 files changed, 86 insertions, 86 deletions
diff --git a/library/cpp/yson_pull/detail/lexer_base.h b/library/cpp/yson_pull/detail/lexer_base.h index 572bdb3d18..61f0c21ca9 100644 --- a/library/cpp/yson_pull/detail/lexer_base.h +++ b/library/cpp/yson_pull/detail/lexer_base.h @@ -4,7 +4,7 @@ #include "cescape.h" #include "macros.h" #include "number.h" -#include "percent_scalar.h" +#include "percent_scalar.h" #include "stream_counter.h" #include "varint.h" @@ -199,17 +199,17 @@ namespace NYsonPull { return token_buffer(); } - percent_scalar read_percent_scalar() { - auto throw_incorrect_percent_scalar = [&]() { - Base::fail("Incorrect %-literal prefix ", NCEscape::quote(token_buffer())); + percent_scalar read_percent_scalar() { + auto throw_incorrect_percent_scalar = [&]() { + Base::fail("Incorrect %-literal prefix ", NCEscape::quote(token_buffer())); }; - auto assert_literal = [&](TStringBuf literal) -> void { - for (size_t i = 2; i < literal.size(); ++i) { + auto assert_literal = [&](TStringBuf literal) -> void { + for (size_t i = 2; i < literal.size(); ++i) { token_buffer_.push_back(this->Base::template get_byte<false>()); Base::advance(1); if (Y_UNLIKELY(token_buffer_.back() != literal[i])) { - throw_incorrect_percent_scalar(); + throw_incorrect_percent_scalar(); } } }; @@ -217,25 +217,25 @@ namespace NYsonPull { token_buffer_.clear(); token_buffer_.push_back(this->Base::template get_byte<false>()); Base::advance(1); - - switch (token_buffer_[0]) { - case 't': - assert_literal(percent_scalar::true_literal); - return percent_scalar(true); - case 'f': - assert_literal(percent_scalar::false_literal); - return percent_scalar(false); - case 'n': - assert_literal(percent_scalar::nan_literal); - return percent_scalar(std::numeric_limits<double>::quiet_NaN()); - case 'i': - assert_literal(percent_scalar::positive_inf_literal); - return percent_scalar(std::numeric_limits<double>::infinity()); - case '-': - assert_literal(percent_scalar::negative_inf_literal); - return percent_scalar(-std::numeric_limits<double>::infinity()); - default: - throw_incorrect_percent_scalar(); + + switch (token_buffer_[0]) { + case 't': + assert_literal(percent_scalar::true_literal); + return percent_scalar(true); + case 'f': + assert_literal(percent_scalar::false_literal); + return percent_scalar(false); + case 'n': + assert_literal(percent_scalar::nan_literal); + return percent_scalar(std::numeric_limits<double>::quiet_NaN()); + case 'i': + assert_literal(percent_scalar::positive_inf_literal); + return percent_scalar(std::numeric_limits<double>::infinity()); + case '-': + assert_literal(percent_scalar::negative_inf_literal); + return percent_scalar(-std::numeric_limits<double>::infinity()); + default: + throw_incorrect_percent_scalar(); } Y_UNREACHABLE(); diff --git a/library/cpp/yson_pull/detail/percent_scalar.h b/library/cpp/yson_pull/detail/percent_scalar.h index ff4571842e..beec425c7d 100644 --- a/library/cpp/yson_pull/detail/percent_scalar.h +++ b/library/cpp/yson_pull/detail/percent_scalar.h @@ -1,36 +1,36 @@ -#pragma once - -#include <util/generic/strbuf.h> - -namespace NYsonPull::NDetail { - enum class percent_scalar_type { - boolean, - float64 - }; - - struct percent_scalar { - //! Text boolean literals +#pragma once + +#include <util/generic/strbuf.h> + +namespace NYsonPull::NDetail { + enum class percent_scalar_type { + boolean, + float64 + }; + + struct percent_scalar { + //! Text boolean literals static constexpr TStringBuf true_literal = "%true"; static constexpr TStringBuf false_literal = "%false"; - //! Text floating-point literals + //! Text floating-point literals static constexpr TStringBuf nan_literal = "%nan"; static constexpr TStringBuf positive_inf_literal = "%inf"; static constexpr TStringBuf negative_inf_literal = "%-inf"; - - percent_scalar_type type; - union { - double as_float64; - bool as_boolean; - } value; - - percent_scalar(double v) { - type = percent_scalar_type::float64; - value.as_float64 = v; - } - - percent_scalar(bool v) { - type = percent_scalar_type::boolean; - value.as_boolean = v; - } - }; -} + + percent_scalar_type type; + union { + double as_float64; + bool as_boolean; + } value; + + percent_scalar(double v) { + type = percent_scalar_type::float64; + value.as_float64 = v; + } + + percent_scalar(bool v) { + type = percent_scalar_type::boolean; + value.as_boolean = v; + } + }; +} diff --git a/library/cpp/yson_pull/detail/reader.h b/library/cpp/yson_pull/detail/reader.h index 0e02396358..29a266edb9 100644 --- a/library/cpp/yson_pull/detail/reader.h +++ b/library/cpp/yson_pull/detail/reader.h @@ -300,18 +300,18 @@ namespace NYsonPull { } } - //! Present a value from %-literal variant - void yield(const percent_scalar& value) { - switch (value.type) { - case percent_scalar_type::boolean: - yield(value.value.as_boolean); - break; - case percent_scalar_type::float64: - yield(value.value.as_float64); - break; - } - } - + //! Present a value from %-literal variant + void yield(const percent_scalar& value) { + switch (value.type) { + case percent_scalar_type::boolean: + yield(value.value.as_boolean); + break; + case percent_scalar_type::float64: + yield(value.value.as_float64); + break; + } + } + //! Present a value-less event void yield(EEventType type) { event_ = TEvent{type}; @@ -654,7 +654,7 @@ namespace NYsonPull { case char_class::percent: lexer_.advance(1); - yield(lexer_.read_percent_scalar()); + yield(lexer_.read_percent_scalar()); break; case char_class::none: diff --git a/library/cpp/yson_pull/detail/writer.h b/library/cpp/yson_pull/detail/writer.h index b24b994292..2df6ee8906 100644 --- a/library/cpp/yson_pull/detail/writer.h +++ b/library/cpp/yson_pull/detail/writer.h @@ -2,7 +2,7 @@ #include "byte_writer.h" #include "cescape.h" -#include "percent_scalar.h" +#include "percent_scalar.h" #include "stream_counter.h" #include "symbols.h" #include "varint.h" @@ -385,7 +385,7 @@ namespace NYsonPull { } void OnScalarFloat64(double value) override { - update_state(EEventType::Scalar); + update_state(EEventType::Scalar); begin_node(); write(NSymbol::double_marker); @@ -425,7 +425,7 @@ namespace NYsonPull { update_state(EEventType::Scalar); begin_node(); - write(value ? percent_scalar::true_literal : percent_scalar::false_literal); + write(value ? percent_scalar::true_literal : percent_scalar::false_literal); end_node(); } @@ -455,20 +455,20 @@ namespace NYsonPull { void OnScalarFloat64(double value) override { update_state(EEventType::Scalar); - begin_node(); - - if (std::isfinite(value)) { - char buf[32]; - auto len = ::snprintf(buf, sizeof(buf), "%#.17lg", value); - write_raw(buf, len); - } else if (std::isnan(value)) { - write(percent_scalar::nan_literal); - } else if (value > 0) { - write(percent_scalar::positive_inf_literal); - } else { - write(percent_scalar::negative_inf_literal); + begin_node(); + + if (std::isfinite(value)) { + char buf[32]; + auto len = ::snprintf(buf, sizeof(buf), "%#.17lg", value); + write_raw(buf, len); + } else if (std::isnan(value)) { + write(percent_scalar::nan_literal); + } else if (value > 0) { + write(percent_scalar::positive_inf_literal); + } else { + write(percent_scalar::negative_inf_literal); } - + end_node(); } |