basedOpinionated utility library |
git clone git://git.dimitrijedobrota.com/based.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
operation.hpp (566B)
0 #pragma once
2 #include "based/concepts/procedure/function.hpp"
4 namespace based
5 {
7 template<typename P, typename... Args>
8 concept Operation = HomogeneousFunction<P, elem_t<0, Args...>, Args...>;
10 template<typename P, typename Ret, typename Arg>
11 concept Transformation = requires {
12 requires(Operation<P, Ret, Arg>);
13 requires(UnaryFunction<P, Ret, Arg>);
14 };
16 template<typename P, typename Arg>
17 concept BinaryOperation = Operation<P, Arg, Arg>;
19 template<typename P, typename Arg>
20 concept AssociativeBinaryOperation = Operation<P, Arg, Arg>;
22 } // namespace based