From 345f2a06c7dfc3deaaf78fdac8db462377fd421c Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 9 Apr 2023 14:39:39 +0200 Subject: entities: fix pure virtual concept checks --- entity/concepts.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'entity') diff --git a/entity/concepts.hpp b/entity/concepts.hpp index 8ab13df9..682360dd 100644 --- a/entity/concepts.hpp +++ b/entity/concepts.hpp @@ -8,17 +8,17 @@ namespace floormat::entities { template -concept FieldReader_memfn = requires(const T x, F f) { +concept FieldReader_memfn = requires(const T& x, F f) { { (x.*f)() } -> std::convertible_to; }; template -concept FieldReader_ptr = requires(const T x, F f) { +concept FieldReader_ptr = requires(const T& x, F f) { { x.*f } -> std::convertible_to; }; template -concept FieldReader_function = requires(const T x, F f) { +concept FieldReader_function = requires(const T& x, F f) { { f(x) } -> std::convertible_to; }; @@ -30,17 +30,17 @@ concept FieldReader = requires { }; template -concept FieldWriter_memfn = requires(T x, move_qualified value, F f) { +concept FieldWriter_memfn = requires(T& x, move_qualified value, F f) { { (x.*f)(value) } -> std::same_as; }; template -concept FieldWriter_ptr = requires(T x, move_qualified value, F f) { +concept FieldWriter_ptr = requires(T& x, move_qualified value, F f) { { x.*f = value }; }; template -concept FieldWriter_function = requires(T x, move_qualified value, F f) { +concept FieldWriter_function = requires(T& x, move_qualified value, F f) { { f(x, value) } -> std::same_as; }; -- cgit v1.2.3