From 67760d797c7dac09077e59a87fa3c27a610a5fc4 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 19 Nov 2022 15:18:02 +0100 Subject: entity: make `constantly` more generic --- entity/metadata.hpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'entity') diff --git a/entity/metadata.hpp b/entity/metadata.hpp index 60e9c458..c9b9a1d5 100644 --- a/entity/metadata.hpp +++ b/entity/metadata.hpp @@ -70,18 +70,17 @@ struct find_reader { using type = F; static con namespace floormat::entities { -template -constexpr auto constantly = [](const Obj&) constexpr { return constant; }; +template constexpr auto constantly(const auto& x) noexcept { return [x](const Ts&...) constexpr { return x; }; } template struct entity_field_base {}; template R, FieldWriter W, typename... Ts> struct entity_field : entity_field_base { private: - static constexpr auto default_predicate = constantly; - static constexpr auto default_c_range = constantly{}>; - static constexpr auto default_c_length = constantly; - static constexpr auto default_c_group = [](const Obj&) constexpr { return StringView{}; }; + static constexpr auto default_predicate = constantly(field_status::enabled); + static constexpr auto default_c_range = constantly(constraints::range{}); + static constexpr auto default_c_length = constantly(constraints::length{std::size_t(-1)}); + static constexpr auto default_c_group = constantly(StringView{}); using default_predicate_t = std::decay_t; using default_c_range_t = std::decay_t; using default_c_length_t = std::decay_t; -- cgit v1.2.3