limes 3.1.0
Composable Calculus Expressions for C++20
Loading...
Searching...
No Matches
limes::expr::Conditional< Cond, Then, Else > Struct Template Reference

#include <conditional.hpp>

Public Types

using value_type = typename Then::value_type
 
using condition_type = Cond
 
using then_type = Then
 
using else_type = Else
 

Public Member Functions

constexpr Conditional (Cond c, Then t, Else e) noexcept
 
constexpr value_type eval (std::span< value_type const > args) const
 
constexpr value_type evaluate (std::span< value_type const > args) const
 
template<std::size_t Dim>
constexpr auto derivative () const
 
std::string to_string () const
 

Public Attributes

Cond condition
 
Then then_branch
 
Else else_branch
 

Static Public Attributes

static constexpr std::size_t arity_v
 

Detailed Description

template<typename Cond, typename Then, typename Else>
struct limes::expr::Conditional< Cond, Then, Else >

Definition at line 14 of file conditional.hpp.

Member Typedef Documentation

◆ condition_type

template<typename Cond , typename Then , typename Else >
using limes::expr::Conditional< Cond, Then, Else >::condition_type = Cond

Definition at line 16 of file conditional.hpp.

◆ else_type

template<typename Cond , typename Then , typename Else >
using limes::expr::Conditional< Cond, Then, Else >::else_type = Else

Definition at line 18 of file conditional.hpp.

◆ then_type

template<typename Cond , typename Then , typename Else >
using limes::expr::Conditional< Cond, Then, Else >::then_type = Then

Definition at line 17 of file conditional.hpp.

◆ value_type

template<typename Cond , typename Then , typename Else >
using limes::expr::Conditional< Cond, Then, Else >::value_type = typename Then::value_type

Definition at line 15 of file conditional.hpp.

Constructor & Destructor Documentation

◆ Conditional()

template<typename Cond , typename Then , typename Else >
constexpr limes::expr::Conditional< Cond, Then, Else >::Conditional ( Cond  c,
Then  t,
Else  e 
)
inlineconstexprnoexcept

Definition at line 27 of file conditional.hpp.

Member Function Documentation

◆ derivative()

template<typename Cond , typename Then , typename Else >
template<std::size_t Dim>
constexpr auto limes::expr::Conditional< Cond, Then, Else >::derivative ( ) const
inlineconstexpr

◆ eval()

template<typename Cond , typename Then , typename Else >
constexpr value_type limes::expr::Conditional< Cond, Then, Else >::eval ( std::span< value_type const >  args) const
inlineconstexpr

◆ evaluate()

template<typename Cond , typename Then , typename Else >
constexpr value_type limes::expr::Conditional< Cond, Then, Else >::evaluate ( std::span< value_type const >  args) const
inlineconstexpr

◆ to_string()

template<typename Cond , typename Then , typename Else >
std::string limes::expr::Conditional< Cond, Then, Else >::to_string ( ) const
inline

Member Data Documentation

◆ arity_v

template<typename Cond , typename Then , typename Else >
constexpr std::size_t limes::expr::Conditional< Cond, Then, Else >::arity_v
staticconstexpr
Initial value:
=
std::max({Cond::arity_v, Then::arity_v, Else::arity_v})

Definition at line 20 of file conditional.hpp.

◆ condition

template<typename Cond , typename Then , typename Else >
Cond limes::expr::Conditional< Cond, Then, Else >::condition

◆ else_branch

template<typename Cond , typename Then , typename Else >
Else limes::expr::Conditional< Cond, Then, Else >::else_branch

◆ then_branch

template<typename Cond , typename Then , typename Else >
Then limes::expr::Conditional< Cond, Then, Else >::then_branch

The documentation for this struct was generated from the following file: