diff options
author | thegeorg <thegeorg@yandex-team.ru> | 2022-02-10 16:45:08 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:08 +0300 |
commit | 4e839db24a3bbc9f1c610c43d6faaaa99824dcca (patch) | |
tree | 506dac10f5df94fab310584ee51b24fc5a081c22 /contrib/libs/fmt/test/scan.h | |
parent | 2d37894b1b037cf24231090eda8589bbb44fb6fc (diff) | |
download | ydb-4e839db24a3bbc9f1c610c43d6faaaa99824dcca.tar.gz |
Restoring authorship annotation for <thegeorg@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/fmt/test/scan.h')
-rw-r--r-- | contrib/libs/fmt/test/scan.h | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/contrib/libs/fmt/test/scan.h b/contrib/libs/fmt/test/scan.h index de82067a49..4c0a5d8fc1 100644 --- a/contrib/libs/fmt/test/scan.h +++ b/contrib/libs/fmt/test/scan.h @@ -31,7 +31,7 @@ class scan_parse_context { FMT_CONSTEXPR iterator end() const { return format_.end(); } void advance_to(iterator it) { - format_.remove_prefix(detail::to_unsigned(it - begin())); + format_.remove_prefix(detail::to_unsigned(it - begin())); } }; @@ -48,11 +48,11 @@ struct scan_context { iterator end() const { return begin() + input_.size(); } void advance_to(iterator it) { - input_.remove_prefix(detail::to_unsigned(it - begin())); + input_.remove_prefix(detail::to_unsigned(it - begin())); } }; -namespace detail { +namespace detail { enum class scan_type { none_type, int_type, @@ -107,20 +107,20 @@ class scan_arg { ctx.advance_to(s.scan(*static_cast<T*>(arg), ctx)); } }; -} // namespace detail +} // namespace detail struct scan_args { int size; - const detail::scan_arg* data; + const detail::scan_arg* data; template <size_t N> - scan_args(const std::array<detail::scan_arg, N>& store) + scan_args(const std::array<detail::scan_arg, N>& store) : size(N), data(store.data()) { static_assert(N < INT_MAX, "too many arguments"); } }; -namespace detail { +namespace detail { struct scan_handler : error_handler { private: @@ -169,15 +169,15 @@ struct scan_handler : error_handler { scan_ctx_.advance_to(it + size); } - int on_arg_id() { return on_arg_id(next_arg_id_++); } - int on_arg_id(int id) { + int on_arg_id() { return on_arg_id(next_arg_id_++); } + int on_arg_id(int id) { if (id >= args_.size) on_error("argument index out of range"); arg_ = args_.data[id]; - return id; + return id; } - int on_arg_id(string_view) { return on_error("invalid format"), 0; } + int on_arg_id(string_view) { return on_error("invalid format"), 0; } - void on_replacement_field(int, const char*) { + void on_replacement_field(int, const char*) { auto it = scan_ctx_.begin(), end = scan_ctx_.end(); switch (arg_.type) { case scan_type::int_type: @@ -209,24 +209,24 @@ struct scan_handler : error_handler { } } - const char* on_format_specs(int, const char* begin, const char*) { + const char* on_format_specs(int, const char* begin, const char*) { if (arg_.type != scan_type::custom_type) return begin; parse_ctx_.advance_to(begin); arg_.custom.scan(arg_.custom.value, parse_ctx_, scan_ctx_); return parse_ctx_.begin(); } }; -} // namespace detail +} // namespace detail template <typename... Args> -std::array<detail::scan_arg, sizeof...(Args)> make_scan_args(Args&... args) { +std::array<detail::scan_arg, sizeof...(Args)> make_scan_args(Args&... args) { return {{args...}}; } string_view::iterator vscan(string_view input, string_view format_str, scan_args args) { - detail::scan_handler h(format_str, input, args); - detail::parse_format_string<false>(format_str, h); + detail::scan_handler h(format_str, input, args); + detail::parse_format_string<false>(format_str, h); return input.begin() + (h.pos() - &*input.begin()); } |