summaryrefslogtreecommitdiffhomepage
path: root/entity
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-05-28 03:11:24 +0200
committerStanislaw Halik <sthalik@misaki.pl>2024-05-28 03:11:24 +0200
commitb8a295f01dbb82e19dce92fd3a2048d98554eb75 (patch)
treea4d3f01ea38adbc3e826fde87b473c929485514a /entity
parent8fda6a3f3cd9d8ec37c17deb3d148c465e97d092 (diff)
entity: add non-const requirement for member pointers
This makes traversing template errors a bit easier.
Diffstat (limited to 'entity')
-rw-r--r--entity/concepts.hpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/entity/concepts.hpp b/entity/concepts.hpp
index e30a2c5e..871f6bbe 100644
--- a/entity/concepts.hpp
+++ b/entity/concepts.hpp
@@ -36,6 +36,8 @@ concept FieldWriter_memfn = requires(T& x, move_qualified<FieldType> value, F f)
template<typename F, typename T, typename FieldType>
concept FieldWriter_ptr = requires(T& x, move_qualified<FieldType> value, F f) {
+ requires std::is_reference_v<decltype(x.*f)>;
+ requires !std::is_const_v<std::remove_reference_t<decltype(x.*f)>>;
{ x.*f = value };
};