From a78f74086d08e43201832625f083aa906030f8b1 Mon Sep 17 00:00:00 2001 From: Antony Peacock Date: Sun, 9 Feb 2025 23:55:06 +0000 Subject: [PATCH] Update scan lib and use latest API (#354) --- conanfile.py | 2 +- .../src/morpheus/application/po/adapters/scannable.hpp | 1 + libraries/core/src/morpheus/core/meta/concepts/scannable.hpp | 3 ++- libraries/core/src/morpheus/core/meta/detail/scannable.hpp | 2 +- libraries/core/tests/meta/concepts/scannable.tests.cpp | 5 +++-- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/conanfile.py b/conanfile.py index 272ca10c..3ce1dca7 100644 --- a/conanfile.py +++ b/conanfile.py @@ -82,7 +82,7 @@ class Morpheus(ConanFile): "ms-gsl/4.0.0", "rapidjson/cci.20230929", "range-v3/0.12.0", - "scnlib/2.0.2", + "scnlib/4.0.1", ) build_requires = ( diff --git a/libraries/application/src/morpheus/application/po/adapters/scannable.hpp b/libraries/application/src/morpheus/application/po/adapters/scannable.hpp index c99f5fd1..c70521ba 100644 --- a/libraries/application/src/morpheus/application/po/adapters/scannable.hpp +++ b/libraries/application/src/morpheus/application/po/adapters/scannable.hpp @@ -1,5 +1,6 @@ #pragma once +#include "morpheus/core/conformance/ranges.hpp" #include "morpheus/core/conformance/scan.hpp" #include "morpheus/core/meta/concepts/scannable.hpp" diff --git a/libraries/core/src/morpheus/core/meta/concepts/scannable.hpp b/libraries/core/src/morpheus/core/meta/concepts/scannable.hpp index e75ea738..c3562f5e 100644 --- a/libraries/core/src/morpheus/core/meta/concepts/scannable.hpp +++ b/libraries/core/src/morpheus/core/meta/concepts/scannable.hpp @@ -1,5 +1,6 @@ #pragma once +#include "morpheus/core/conformance/ranges.hpp" #include "morpheus/core/conformance/scan.hpp" #include "morpheus/core/meta/detail/scannable.hpp" @@ -11,6 +12,6 @@ namespace morpheus::meta::concepts /// \concept Scannable /// Verifies a given T is a scannable type. template -concept Scannable = detail::ScannableWith, scan_ns::basic_scan_context>; +concept Scannable = detail::ScannableWith, scan_ns::basic_scan_context, CharT>>; } // namespace morpheus::meta::concepts diff --git a/libraries/core/src/morpheus/core/meta/detail/scannable.hpp b/libraries/core/src/morpheus/core/meta/detail/scannable.hpp index 72454e02..e773f882 100644 --- a/libraries/core/src/morpheus/core/meta/detail/scannable.hpp +++ b/libraries/core/src/morpheus/core/meta/detail/scannable.hpp @@ -12,7 +12,7 @@ template && requires(Scanner& s, const Scanner& cs, T& t, Context& ctx, scan_ns::basic_scan_parse_context pctx) { - { s.parse(pctx) } -> std::same_as>; + { s.parse(pctx) } -> std::same_as; { cs.scan(t, ctx) } -> std::same_as>; }; diff --git a/libraries/core/tests/meta/concepts/scannable.tests.cpp b/libraries/core/tests/meta/concepts/scannable.tests.cpp index d7a94ed0..971a22b9 100644 --- a/libraries/core/tests/meta/concepts/scannable.tests.cpp +++ b/libraries/core/tests/meta/concepts/scannable.tests.cpp @@ -1,3 +1,4 @@ +#include "morpheus/core/conformance/ranges.hpp" #include "morpheus/core/conformance/scan.hpp" #include "morpheus/core/meta/concepts/scannable.hpp" @@ -35,8 +36,8 @@ class UnscannableType; TEST_CASE("Meta concept scannable_with verifies a given type customises scan_ns::scanner", "[morpheus.meta.concepts.scannable_with]") { - STATIC_REQUIRE(!detail::ScannableWith>); - STATIC_REQUIRE(detail::ScannableWith>); + STATIC_REQUIRE(!detail::ScannableWith, char>>); + STATIC_REQUIRE(detail::ScannableWith, char>>); } TEST_CASE("Meta concept scannable_with verifies a given type customises scan_ns::scanner", "[morpheus.meta.concepts.scannable]")