limes 3.1.0
Composable Calculus Expressions for C++20
Loading...
Searching...
No Matches
limes::expr::Binary< Op, L, R > Struct Template Reference

#include <binary.hpp>

Public Types

using value_type = typename L::value_type
 
using op_type = Op
 
using left_type = L
 
using right_type = R
 

Public Member Functions

constexpr Binary (L l, R r) 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

left
 
right
 

Static Public Attributes

static constexpr std::size_t arity_v = std::max(L::arity_v, R::arity_v)
 

Detailed Description

template<typename Op, typename L, typename R>
struct limes::expr::Binary< Op, L, R >

Definition at line 25 of file binary.hpp.

Member Typedef Documentation

◆ left_type

template<typename Op , typename L , typename R >
using limes::expr::Binary< Op, L, R >::left_type = L

Definition at line 28 of file binary.hpp.

◆ op_type

template<typename Op , typename L , typename R >
using limes::expr::Binary< Op, L, R >::op_type = Op

Definition at line 27 of file binary.hpp.

◆ right_type

template<typename Op , typename L , typename R >
using limes::expr::Binary< Op, L, R >::right_type = R

Definition at line 29 of file binary.hpp.

◆ value_type

template<typename Op , typename L , typename R >
using limes::expr::Binary< Op, L, R >::value_type = typename L::value_type

Definition at line 26 of file binary.hpp.

Constructor & Destructor Documentation

◆ Binary()

template<typename Op , typename L , typename R >
constexpr limes::expr::Binary< Op, L, R >::Binary ( l,
r 
)
inlineconstexprnoexcept

Definition at line 36 of file binary.hpp.

Member Function Documentation

◆ derivative()

template<typename Op , typename L , typename R >
template<std::size_t Dim>
constexpr auto limes::expr::Binary< Op, L, R >::derivative ( ) const
inlineconstexpr

◆ eval()

template<typename Op , typename L , typename R >
constexpr value_type limes::expr::Binary< Op, L, R >::eval ( std::span< value_type const >  args) const
inlineconstexpr

◆ evaluate()

template<typename Op , typename L , typename R >
constexpr value_type limes::expr::Binary< Op, L, R >::evaluate ( std::span< value_type const >  args) const
inlineconstexpr

Definition at line 54 of file binary.hpp.

References limes::expr::Binary< Op, L, R >::eval().

◆ to_string()

template<typename Op , typename L , typename R >
std::string limes::expr::Binary< Op, L, R >::to_string ( ) const
inline

Member Data Documentation

◆ arity_v

template<typename Op , typename L , typename R >
constexpr std::size_t limes::expr::Binary< Op, L, R >::arity_v = std::max(L::arity_v, R::arity_v)
staticconstexpr

Definition at line 31 of file binary.hpp.

◆ left

◆ right


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