Simple-Utility v2.3.1
Loading...
Searching...
No Matches
InvokePolicies.hpp File Reference
#include <concepts>
#include <functional>
#include <type_traits>
#include <utility>
#include "Simple-Utility/CRTPBase.hpp"
#include "Simple-Utility/concepts/stl_extensions.hpp"
#include "Simple-Utility/functional/BasicClosure.hpp"
#include "Simple-Utility/tuple/General.hpp"
Include dependency graph for InvokePolicies.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  sl
 
namespace  sl::functional
 

Typedefs

template<concepts::unqualified Derived>
using sl::functional::BasicInvokePolicy = detail::BasicInvokePolicy< Derived, detail::InvocableStrategy >
 CRTP type, enabling all four operator () overloads for derived classes.
 
template<concepts::unqualified Derived>
using sl::functional::NodiscardInvokePolicy = detail::NodiscardInvokePolicy< Derived, detail::InvocableStrategy >
 CRTP type, enabling all four operator () overloads for derived classes, which are all marked with th enodiscard attribute.
 
template<concepts::unqualified Derived>
using sl::functional::PredicateInvokePolicy = detail::NodiscardInvokePolicy< Derived, detail::PredicateStrategy >
 CRTP type, enabling all four operator () overloads for derived classes, which are all marked with the nodiscard attribute.
 
template<concepts::unqualified Derived>
using sl::functional::BasicApplyPolicy = detail::NodiscardInvokePolicy< Derived, detail::ApplicableStrategy >
 CRTP type, enabling all four operator () overloads for derived classes and expects the params to be tied as tuple.
 
template<concepts::unqualified Derived>
using sl::functional::NodiscardApplyPolicy = detail::NodiscardInvokePolicy< Derived, detail::ApplicableStrategy >
 CRTP type, enabling all four operator () overloads for derived classes and expects the params to be tied as tuple. Additionally the call operators are marked with the nodiscard attribute.