limes 3.1.0
Composable Calculus Expressions for C++20
Loading...
Searching...
No Matches
conditional.hpp File Reference
#include <span>
#include <string>
#include <cstddef>
#include <algorithm>
#include "binary.hpp"
+ Include dependency graph for conditional.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  limes::expr::Conditional< Cond, Then, Else >
 
struct  limes::expr::is_conditional< T >
 
struct  limes::expr::is_conditional< Conditional< C, T, E > >
 

Namespaces

namespace  limes
 
namespace  limes::expr
 Expression layer for composable calculus.
 

Functions

template<typename C , typename T , typename E >
requires (is_expr_node_v<C> && is_expr_node_v<T> && is_expr_node_v<E>)
constexpr auto limes::expr::if_then_else (C cond, T then_expr, E else_expr)
 
template<typename C , typename T >
requires (is_expr_node_v<C> && std::is_arithmetic_v<T>)
constexpr auto limes::expr::if_then_else (C cond, T then_val, T else_val)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::heaviside (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::ramp (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::sign (E e)
 
template<typename E , typename T >
requires (is_expr_node_v<E> && std::is_arithmetic_v<T>)
constexpr auto limes::expr::clamp (E e, T lo, T hi)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::indicator (E e)
 

Variables

template<typename T >
constexpr bool limes::expr::is_conditional_v = is_conditional<T>::value