Defines the helper facilities for operator overloads for all ViennaMath expression types. More...
#include <ostream>
#include "viennamath/forwards.h"
#include "viennamath/runtime/binary_expr.hpp"
Go to the source code of this file.
Data Structures | |
struct | add< LHS, RHS, b1, b2 > |
Returns the type of adding two expressions together. Default case: both types are runtime expressions. More... | |
struct | subtract< LHS, RHS, b1, b2 > |
Returns the type when subtracting two expressions. Default case: both types are runtime expressions. More... | |
struct | mult< LHS, RHS, b1, b2 > |
Returns the type when multiplying two expressions. Default case: both types are runtime expressions. More... | |
struct | div< LHS, RHS, b1, b2 > |
Returns the type when dividing two expressions. Default case: both types are runtime expressions. More... | |
Namespaces | |
namespace | viennamath |
The main ViennaMath namespace. All types and functions for the user reside here. | |
namespace | viennamath::traits |
Any generic free functions for unifying interfaces are defined here. | |
namespace | viennamath::result_of |
The namespace containing a set of metafunctions which can be used by the ViennaMath library user. | |
Functions | |
template<typename InterfaceType , typename NumericT > | |
InterfaceType * | clone (rt_constant< NumericT, InterfaceType > const &c) |
template<typename InterfaceType > | |
InterfaceType * | clone (default_numeric_type d) |
template<typename InterfaceType , long value> | |
InterfaceType * | clone (ct_constant< value > const &c) |
template<typename InterfaceType > | |
InterfaceType * | clone (rt_variable< InterfaceType > const &v) |
template<typename InterfaceType , id_type id> | |
InterfaceType * | clone (ct_variable< id > const &v) |
template<typename InterfaceType > | |
InterfaceType * | clone (rt_function_symbol< InterfaceType > const &fs) |
template<typename InterfaceType > | |
InterfaceType * | clone (rt_unary_expr< InterfaceType > const &e) |
template<typename InterfaceType > | |
InterfaceType * | clone (rt_binary_expr< InterfaceType > const &e) |
template<typename InterfaceType > | |
InterfaceType * | clone (rt_expr< InterfaceType > const &e) |
template<typename InterfaceType , typename LHS , typename OP , typename RHS > | |
InterfaceType * | clone (ct_binary_expr< LHS, OP, RHS > const &e) |
template<typename InterfaceType , typename LHS , typename OP > | |
InterfaceType * | clone (ct_unary_expr< LHS, OP > const &e) |
Defines the helper facilities for operator overloads for all ViennaMath expression types.