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

Go to the source code of this file.

Classes

struct  limes::expr::NamedVar< T >
 
struct  limes::expr::is_named_var< T >
 
struct  limes::expr::is_named_var< NamedVar< T > >
 
struct  limes::expr::StaticNamedVar< N, T >
 
struct  limes::expr::is_static_named_var< T >
 
struct  limes::expr::is_static_named_var< StaticNamedVar< N, T > >
 

Namespaces

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

Functions

template<typename T = double>
constexpr NamedVar< T > limes::expr::var (std::size_t dim, std::string_view name) noexcept
 
template<std::size_t N, typename T = double>
constexpr StaticNamedVar< N, T > limes::expr::named (std::string_view name) noexcept
 
template<std::size_t N, typename T , std::size_t... Is>
constexpr auto limes::expr::declare_vars_impl (std::array< std::string_view, N > const &names, std::index_sequence< Is... >)
 
template<std::size_t N, typename T = double, typename... Names>
requires (sizeof...(Names) == N)
constexpr auto limes::expr::declare_vars (Names... names)
 Usage: auto [x, y, z] = declare_vars<3>("x", "y", "z");.
 
template<typename T = double>
constexpr auto limes::expr::vars_xy (std::string_view x_name="x", std::string_view y_name="y")
 
template<typename T = double>
constexpr auto limes::expr::vars_xyz (std::string_view x_name="x", std::string_view y_name="y", std::string_view z_name="z")
 

Variables

template<typename T >
constexpr bool limes::expr::is_named_var_v = is_named_var<T>::value
 
template<typename T >
constexpr bool limes::expr::is_static_named_var_v = is_static_named_var<T>::value