diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2024-05-28 03:11:24 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-05-28 03:11:24 +0200 |
commit | b8a295f01dbb82e19dce92fd3a2048d98554eb75 (patch) | |
tree | a4d3f01ea38adbc3e826fde87b473c929485514a /entity | |
parent | 8fda6a3f3cd9d8ec37c17deb3d148c465e97d092 (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.hpp | 2 |
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 }; }; |