ECSTASY
All in the name
Loading...
Searching...
No Matches
ecstasy::query::modifier Namespace Reference

Namespaces regrouping all the available query modifiers. More...

Classes

class  AndImpl
 Binary query modifier which performs a and between at least two queryables. More...
 
class  BinaryModifier
 Base class of query modifier operating on at least two queryables. More...
 
class  Maybe
 Query modifier which returns a std::optional filled when the data if existing. More...
 
class  Modifier
 Base class for all query modifiers. More...
 
class  ModifierBase
 Type erased base class for all query modifiers. More...
 
class  Not
 Query modifier which simply inverts the bits. More...
 
class  OrImpl
 Binary query modifier which performs a or between at least two queryables. More...
 
class  XorImpl
 Binary query modifier which performs a xor between at least two queryables. More...
 

Functions

template<Queryable Q1, Queryable Q2, Queryable... Qs>
auto constexpr And (Q1 &firstOperand, Q2 &secondOperand, Qs &...otherOperands)
 Binary query modifier which performs a and between at least two queryables.
 
template<Queryable Q1, Queryable Q2, Queryable... Qs>
auto constexpr Or (Q1 &firstOperand, Q2 &secondOperand, Qs &...otherOperands)
 Binary query modifier which performs a or between at least two queryables.
 
template<Queryable Q1, Queryable Q2, Queryable... Qs>
auto constexpr Xor (Q1 &firstOperand, Q2 &secondOperand, Qs &...otherOperands)
 Binary query modifier which performs a xor between at least two queryables.
 

Detailed Description

Namespaces regrouping all the available query modifiers.

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-11-18)

Function Documentation

◆ And()

template<Queryable Q1, Queryable Q2, Queryable... Qs>
auto constexpr ecstasy::query::modifier::And ( Q1 &  firstOperand,
Q2 &  secondOperand,
Qs &...  otherOperands 
)
constexpr

Binary query modifier which performs a and between at least two queryables.

Template Parameters
Q1Left operand queryable type.
Q2Right operand queryable type.
QsAdditional operand queryable types.
Parameters
[in]firstOperandleft queryable operand.
[in]secondOperandright queryable operand.
[in]otherOperandsadditional operands (optional).
Returns
auto The resulting queryable modifier.
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-10-17)

Definition at line 128 of file And.hpp.

129 {
130 return AndImpl<false, Q1, Q2, Qs...>(firstOperand, secondOperand, otherOperands...);
131 }
Binary query modifier which performs a and between at least two queryables.
Definition And.hpp:35

◆ Or()

template<Queryable Q1, Queryable Q2, Queryable... Qs>
auto constexpr ecstasy::query::modifier::Or ( Q1 &  firstOperand,
Q2 &  secondOperand,
Qs &...  otherOperands 
)
constexpr

Binary query modifier which performs a or between at least two queryables.

Template Parameters
Q1Left operand queryable type.
Q2Right operand queryable type.
QsAdditional operand queryable types.
Parameters
[in]firstOperandleft queryable operand.
[in]secondOperandright queryable operand.
[in]otherOperandsadditional operands (optional).
Returns
auto The resulting queryable modifier.
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-10-17)

Definition at line 159 of file Or.hpp.

160 {
161 return OrImpl<false, Q1, Q2, Qs...>(firstOperand, secondOperand, otherOperands...);
162 }
Binary query modifier which performs a or between at least two queryables.
Definition Or.hpp:36

◆ Xor()

template<Queryable Q1, Queryable Q2, Queryable... Qs>
auto constexpr ecstasy::query::modifier::Xor ( Q1 &  firstOperand,
Q2 &  secondOperand,
Qs &...  otherOperands 
)
constexpr

Binary query modifier which performs a xor between at least two queryables.

Template Parameters
Q1Left operand queryable type.
Q2Right operand queryable type.
QsAdditional operand queryable types.
Parameters
[in]firstOperandleft queryable operand.
[in]secondOperandright queryable operand.
[in]otherOperandsadditional operands (optional).
Returns
auto The resulting queryable modifier.
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-10-17)

Definition at line 160 of file Xor.hpp.

161 {
162 return XorImpl<false, Q1, Q2, Qs...>(firstOperand, secondOperand, otherOperands...);
163 }
Binary query modifier which performs a xor between at least two queryables.
Definition Xor.hpp:38