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

#include <binary_func.hpp>

Public Types

using value_type = typename L::value_type
 
using tag_type = Tag
 
using left_type = L
 
using right_type = R
 

Public Member Functions

constexpr BinaryFunc (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 Tag, typename L, typename R>
struct limes::expr::BinaryFunc< Tag, L, R >

Definition at line 39 of file binary_func.hpp.

Member Typedef Documentation

◆ left_type

template<typename Tag , typename L , typename R >
using limes::expr::BinaryFunc< Tag, L, R >::left_type = L

Definition at line 42 of file binary_func.hpp.

◆ right_type

template<typename Tag , typename L , typename R >
using limes::expr::BinaryFunc< Tag, L, R >::right_type = R

Definition at line 43 of file binary_func.hpp.

◆ tag_type

template<typename Tag , typename L , typename R >
using limes::expr::BinaryFunc< Tag, L, R >::tag_type = Tag

Definition at line 41 of file binary_func.hpp.

◆ value_type

template<typename Tag , typename L , typename R >
using limes::expr::BinaryFunc< Tag, L, R >::value_type = typename L::value_type

Definition at line 40 of file binary_func.hpp.

Constructor & Destructor Documentation

◆ BinaryFunc()

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

Definition at line 50 of file binary_func.hpp.

Member Function Documentation

◆ derivative()

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

◆ eval()

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

◆ evaluate()

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

Definition at line 66 of file binary_func.hpp.

References limes::expr::BinaryFunc< Tag, L, R >::eval().

◆ to_string()

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

Member Data Documentation

◆ arity_v

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

Definition at line 45 of file binary_func.hpp.

◆ left

template<typename Tag , typename L , typename R >
L limes::expr::BinaryFunc< Tag, L, R >::left

◆ right

template<typename Tag , typename L , typename R >
R limes::expr::BinaryFunc< Tag, L, R >::right

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