|
limes 3.1.0
Composable Calculus Expressions for C++20
|
#include <span>#include <string>#include <cstddef>#include <cmath>#include <algorithm>#include "binary.hpp"#include "primitives.hpp"
Include dependency graph for binary_func.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | limes::expr::PowTag |
| struct | limes::expr::MaxTag |
| struct | limes::expr::MinTag |
| struct | limes::expr::BinaryFunc< Tag, L, R > |
Namespaces | |
| namespace | limes |
| namespace | limes::expr |
| Expression layer for composable calculus. | |
Typedefs | |
| template<typename L , typename R > | |
| using | limes::expr::RuntimePow = BinaryFunc< PowTag, L, R > |
| template<typename L , typename R > | |
| using | limes::expr::Max = BinaryFunc< MaxTag, L, R > |
| template<typename L , typename R > | |
| using | limes::expr::Min = BinaryFunc< MinTag, L, R > |
Functions | |
| template<typename L , typename R > requires (is_expr_node_v<L> && is_expr_node_v<R>) | |
| constexpr auto | limes::expr::pow (L base, R exponent) |
| template<typename L , typename T > requires (is_expr_node_v<L> && std::is_arithmetic_v<T>) | |
| constexpr auto | limes::expr::pow (L base, T exponent) |
| template<typename T , typename R > requires (std::is_arithmetic_v<T> && is_expr_node_v<R>) | |
| constexpr auto | limes::expr::pow (T base, R exponent) |
| template<typename L , typename R > requires (is_expr_node_v<L> && is_expr_node_v<R>) | |
| constexpr auto | limes::expr::max (L a, R b) |
| template<typename L , typename T > requires (is_expr_node_v<L> && std::is_arithmetic_v<T>) | |
| constexpr auto | limes::expr::max (L a, T b) |
| template<typename T , typename R > requires (std::is_arithmetic_v<T> && is_expr_node_v<R>) | |
| constexpr auto | limes::expr::max (T a, R b) |
| template<typename L , typename R > requires (is_expr_node_v<L> && is_expr_node_v<R>) | |
| constexpr auto | limes::expr::min (L a, R b) |
| template<typename L , typename T > requires (is_expr_node_v<L> && std::is_arithmetic_v<T>) | |
| constexpr auto | limes::expr::min (L a, T b) |
| template<typename T , typename R > requires (std::is_arithmetic_v<T> && is_expr_node_v<R>) | |
| constexpr auto | limes::expr::min (T a, R b) |
Variables | |
| template<typename E > | |
| constexpr bool | limes::expr::is_binary_func_v = false |
| template<typename Tag , typename L , typename R > | |
| constexpr bool | limes::expr::is_binary_func_v< BinaryFunc< Tag, L, R > > = true |
| template<typename E > | |
| constexpr bool | limes::expr::is_runtime_pow_v = false |
| template<typename L , typename R > | |
| constexpr bool | limes::expr::is_runtime_pow_v< BinaryFunc< PowTag, L, R > > = true |
| template<typename E > | |
| constexpr bool | limes::expr::is_max_v = false |
| template<typename L , typename R > | |
| constexpr bool | limes::expr::is_max_v< BinaryFunc< MaxTag, L, R > > = true |
| template<typename E > | |
| constexpr bool | limes::expr::is_min_v = false |
| template<typename L , typename R > | |
| constexpr bool | limes::expr::is_min_v< BinaryFunc< MinTag, L, R > > = true |