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

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

#include <Queryable.hpp>

Concept definition

template<typename Q>
concept ecstasy::query::QueryableObject = requires(Q &queryable, Q const &cqueryable, std::size_t index) {
typename Q::QueryData;
{ cqueryable.getMask() } -> std::same_as<util::BitSet const &>;
{ queryable.getQueryData(index) } -> std::same_as<typename Q::QueryData>;
}
Defines a type that can be queried.
Definition Queryable.hpp:42

Detailed Description

Defines a type that can be queried.

A queryable type must have:

  • An internal QueryData type, which is the data stored in the queryable.
  • A method getMask returning a const reference to a BitSet where all bits set to 1 means a query data at the bit index is available.
  • A method getQueryData returning the query data at the given index. This method will be called with indexes of bit set to 1 in the mask.
Template Parameters
QEvaluated 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 (2022-10-25)

Definition at line 42 of file Queryable.hpp.