ECSTASY
All in the name
Loading...
Searching...
No Matches
ecstasy::query::QueryableWrapper Concept Reference

Defines a type that can be queried through a wrapper. More...

#include <Queryable.hpp>

Concept definition

template<typename W>
concept ecstasy::query::QueryableWrapper = requires(W const &cwrapper) {
typename W::WrappedType;
{ cwrapper->getMask() } -> std::same_as<util::BitSet const &>;
}
&&
(
(
QueryableObject<typename W::WrappedType> &&
requires(W const &cwrapper, std::size_t index) {
{ cwrapper->getQueryData(index) } -> std::same_as<typename W::WrappedType::QueryData>;
}
)
||
(
std::is_const_v<typename W::WrappedType> &&
requires(W const &cwrapper, std::size_t index) {
{ cwrapper->getQueryData(index) } -> std::same_as<typename W::WrappedType::ConstQueryData>;
}
)
)
Defines a type that can be queried through a wrapper.
Definition Queryable.hpp:91

Detailed Description

Defines a type that can be queried through a wrapper.

Note
LockableView is the reason of this concept.
The wrapped type must be a QueryableObject or a const ConstQueryableObject.
Warning
The getQueryable method must be const qualified from the wrapper since the wrapper itself is not expected to be modified.
Template Parameters
WWrapper type.
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-04-03)

Definition at line 91 of file Queryable.hpp.