From 9e34050e2336822a84d686c3e1e1be85b51852e6 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Wed, 11 Dec 2019 08:22:12 +0100 Subject: [PATCH] fmt and catch2 updated to the latest versions --- conanfile.py | 4 ++-- src/include/units/format.h | 15 +++++++-------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/conanfile.py b/conanfile.py index 5a2467b4..c79e860a 100644 --- a/conanfile.py +++ b/conanfile.py @@ -47,10 +47,10 @@ class UnitsConan(ConanFile): exports_sources = ["src/*", "test/*", "cmake/*", "example/*","CMakeLists.txt"] settings = "os", "compiler", "build_type", "arch" requires = ( - "fmt/6.0.0" + "fmt/6.1.0" ) build_requires = ( - "Catch2/2.10.0@catchorg/stable" + "Catch2/2.11.0@catchorg/stable" ) generators = "cmake" diff --git a/src/include/units/format.h b/src/include/units/format.h index 68c688cc..4b361a02 100644 --- a/src/include/units/format.h +++ b/src/include/units/format.h @@ -159,7 +159,7 @@ template struct fmt::formatter, CharT> { private: using quantity = units::quantity; - using iterator = fmt::basic_parse_context::iterator; + using iterator = fmt::basic_format_parse_context::iterator; using arg_ref_type = fmt::internal::arg_ref; fmt::basic_format_specs specs; @@ -172,7 +172,7 @@ private: struct spec_handler { formatter& f; - fmt::basic_parse_context& context; + fmt::basic_format_parse_context& context; fmt::basic_string_view format_str; template @@ -185,8 +185,7 @@ private: constexpr arg_ref_type make_arg_ref(fmt::basic_string_view arg_id) { context.check_arg_id(arg_id); - const auto str_val = fmt::internal::string_view_metadata(format_str, arg_id); - return arg_ref_type(str_val); + return arg_ref_type(arg_id); } constexpr arg_ref_type make_arg_ref(fmt::internal::auto_id) @@ -226,7 +225,7 @@ private: iterator end; }; - constexpr parse_range do_parse(fmt::basic_parse_context& ctx) + constexpr parse_range do_parse(fmt::basic_format_parse_context& ctx) { auto begin = ctx.begin(), end = ctx.end(); if(begin == end || *begin == '}') @@ -285,7 +284,7 @@ private: } public: - constexpr auto parse(fmt::basic_parse_context& ctx) + constexpr auto parse(fmt::basic_format_parse_context& ctx) { auto range = do_parse(ctx); format_str = fmt::basic_string_view(&*range.begin, fmt::internal::to_unsigned(range.end - range.begin)); @@ -302,8 +301,8 @@ public: auto out = std::back_inserter(buf); // process dynamic width and precision - fmt::internal::handle_dynamic_spec(specs.width, width_ref, ctx, format_str.begin()); - fmt::internal::handle_dynamic_spec(precision, precision_ref, ctx, format_str.begin()); + fmt::internal::handle_dynamic_spec(specs.width, width_ref, ctx); + fmt::internal::handle_dynamic_spec(precision, precision_ref, ctx); // deal with quantity content if(begin == end || *begin == '}') {