MGIS
Loading...
Searching...
No Matches
EvaluatorModifierConcept.hxx File Reference
#include <tuple>
#include <concepts>
#include "MGIS/Function/EvaluatorConcept.hxx"
#include "MGIS/Function/EvaluatorModifierConcept.ixx"

Classes

struct  mgis::function::EvaluatorModifierTag
 a small class to specify that a type is a Modifier More...
 
struct  mgis::function::EvaluatorModifiersGroup< Ms >
 a class meant to group modifiers allowing modifiers composability More...
 

Namespaces

namespace  mgis
 the namespace mgis encloses all the MGIS project.
 

Concepts

concept  mgis::function::EvaluatorModifierConcept
 

Functions

template<EvaluatorConcept EvaluatorType, EvaluatorModifierConcept EvaluatorModifierType>
constexpr auto mgis::function::operator| (const EvaluatorType &, EvaluatorModifierType)
 
template<EvaluatorModifierConcept M0, EvaluatorModifierConcept... Ms>
requires (sizeof...(Ms) > 0)
constexpr auto mgis::function::internals::pop_front (const EvaluatorModifiersGroup< M0, Ms... > &m)
 
template<EvaluatorModifierConcept... Ms>
requires (sizeof...(Ms) > 0)
constexpr auto mgis::function::internals::apply (const EvaluatorModifiersGroup< Ms... > &m, const EvaluatorConcept auto &e)
 
template<EvaluatorModifierConcept... Ms>
requires (sizeof...(Ms) > 0)
 mgis::function::EvaluatorModifiersGroup (Ms...) -> EvaluatorModifiersGroup< Ms... >
 
template<EvaluatorModifierConcept... Ms>
requires (sizeof...(Ms) > 0)
 mgis::function::EvaluatorModifiersGroup (std::tuple< Ms... >) -> EvaluatorModifiersGroup< Ms... >
 
template<EvaluatorModifierConcept M0, EvaluatorModifierConcept M1>
constexpr auto mgis::function::operator| (M0 const &m0, M1 const &m1)
 group two modifiers
 
template<EvaluatorModifierConcept M0, EvaluatorModifierConcept... M1>
constexpr auto mgis::function::operator| (M0 const &m0, EvaluatorModifiersGroup< M1... > const &m1)
 
template<EvaluatorModifierConcept M0, EvaluatorModifierConcept... M1>
constexpr auto mgis::function::operator| (EvaluatorModifiersGroup< M1... > const &m1, M0 const &m0)
 
template<EvaluatorModifierConcept... M0, EvaluatorModifierConcept... M1>
constexpr auto mgis::function::operator| (EvaluatorModifiersGroup< M0... > const &m0, EvaluatorModifiersGroup< M1... > const &m1)
 

Detailed Description

Author
Thomas Helfer
Date
05/06/2025

Function Documentation

◆ operator|()

template<EvaluatorConcept EvaluatorType, EvaluatorModifierConcept EvaluatorModifierType>
constexpr auto mgis::function::operator| ( const EvaluatorType &  e,
EvaluatorModifierType  m 
)
constexpr
Returns
the evaluator resulting from appling the modifier to the evaluator
Parameters
[in]eevaluator
[in]mmodifier