Expression Templates Library (ETL)
Namespaces | Functions
binary_expression_builder.hpp File Reference

Contains all the operators and functions to build binary expressions. More...

#include "etl/concepts.hpp"
Include dependency graph for binary_expression_builder.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 etl
 Root namespace for the ETL library.
 

Functions

template<etl_expr LE, etl_expr RE>
auto etl::operator- (LE &&lhs, RE &&rhs)
 Builds an expression representing the subtraction of lhs and rhs. More...
 
template<etl_expr LE, etl_expr RE>
auto etl::operator+ (LE &&lhs, RE &&rhs)
 Builds an expression representing the addition of lhs and rhs. More...
 
template<etl_expr LE, etl_expr RE>
auto etl::operator>> (LE &&lhs, RE &&rhs)
 Builds an expression representing the scalar multipliation of lhs and rhs. More...
 
template<typename LE , typename RE >
auto etl::scale (LE &&lhs, RE &&rhs)
 Builds an expression representing the scalar multiplication of lhs and rhs. More...
 
template<etl_expr LE, etl_expr RE>
auto etl::operator/ (LE &&lhs, RE &&rhs)
 Builds an expression representing the division of lhs and rhs. More...
 
template<etl_expr LE, etl_expr RE>
auto etl::operator% (LE &&lhs, RE &&rhs)
 Builds an expression representing the modulo of lhs and rhs. More...
 
template<etl_expr LE, std::convertible_to< value_t< LE >> RE>
auto etl::operator- (LE &&lhs, RE rhs)
 Builds an expression representing the subtraction of lhs and rhs (scalar) More...
 
template<etl_expr RE, std::convertible_to< value_t< RE >> LE>
auto etl::operator- (LE lhs, RE &&rhs)
 Builds an expression representing the subtraction of lhs (scalar) and rhs. More...
 
template<etl_expr LE, std::convertible_to< value_t< LE >> RE>
auto etl::operator+ (LE &&lhs, RE rhs)
 Builds an expression representing the addition of lhs and rhs (scalar) More...
 
template<etl_expr RE, std::convertible_to< value_t< RE >> LE>
auto etl::operator+ (LE lhs, RE &&rhs)
 Builds an expression representing the addition of lhs (scalar) and rhs. More...
 
template<etl_expr LE, std::convertible_to< value_t< LE >> RE>
auto etl::operator* (LE &&lhs, RE rhs)
 Builds an expression representing the multiplication of lhs and rhs (scalar) More...
 
template<etl_expr RE, std::convertible_to< value_t< RE >> LE>
auto etl::operator* (LE lhs, RE &&rhs)
 Builds an expression representing the multiplication of lhs (scalar) and rhs. More...
 
template<etl_expr LE, std::convertible_to< value_t< LE >> RE>
auto etl::operator>> (LE &&lhs, RE rhs)
 Builds an expression representing the multiplication of lhs and rhs (scalar) More...
 
template<etl_expr RE, std::convertible_to< value_t< RE >> LE>
auto etl::operator>> (LE lhs, RE &&rhs)
 Builds an expression representing the multiplication of lhs (scalar) and rhs. More...
 
template<etl_expr LE, std::convertible_to< value_t< LE >> RE>
auto etl::operator/ (LE &&lhs, RE rhs)
 Builds an expression representing the division of lhs and rhs (scalar) More...
 
template<etl_expr RE, std::convertible_to< value_t< RE >> LE>
auto etl::operator/ (LE lhs, RE &&rhs)
 Builds an expression representing the division of lhs (scalar) and rhs. More...
 
template<etl_expr LE, std::convertible_to< value_t< LE >> RE>
auto etl::operator% (LE &&lhs, RE rhs)
 Builds an expression representing the modulo of lhs and rhs (scalar) More...
 
template<etl_expr RE, std::convertible_to< value_t< RE >> LE>
auto etl::operator% (LE lhs, RE &&rhs)
 Builds an expression representing the modulo of lhs (scalar) and rhs. More...
 
template<simple_lhs LE, arithmetic RE>
decltype(auto) etl::operator+= (LE &&lhs, RE rhs)
 Compound addition of the right hand side to the left hand side. More...
 
template<simple_lhs LE, etl_expr RE>
decltype(auto) etl::operator+= (LE &&lhs, const RE &rhs)
 Compound addition of the right hand side to the left hand side. More...
 
template<simple_lhs LE, arithmetic RE>
decltype(auto) etl::operator-= (LE &&lhs, RE rhs)
 Compound subtraction of the right hand side to the left hand side. More...
 
template<simple_lhs LE, etl_expr RE>
decltype(auto) etl::operator-= (LE &&lhs, const RE &rhs)
 Compound subtraction of the right hand side to the left hand side. More...
 
template<simple_lhs LE, arithmetic RE>
decltype(auto) etl::operator*= (LE &&lhs, RE rhs)
 Compound multiplication of the right hand side to the left hand side. More...
 
template<simple_lhs LE, etl_expr RE>
decltype(auto) etl::operator*= (LE &&lhs, const RE &rhs)
 Compound multiplication of the right hand side to the left hand side. More...
 
template<simple_lhs LE, arithmetic RE>
decltype(auto) etl::operator>>= (LE &&lhs, RE rhs)
 Compound multiplication of the right hand side to the left hand side. More...
 
template<simple_lhs LE, etl_expr RE>
decltype(auto) etl::operator>>= (LE &&lhs, const RE &rhs)
 Compound multiplication of the right hand side to the left hand side. More...
 
template<simple_lhs LE, arithmetic RE>
decltype(auto) etl::operator/= (LE &&lhs, RE rhs)
 Compound division of the right hand side to the left hand side. More...
 
template<simple_lhs LE, etl_expr RE>
decltype(auto) etl::operator/= (LE &&lhs, const RE &rhs)
 Compound division of the right hand side to the left hand side. More...
 
template<simple_lhs LE, arithmetic RE>
decltype(auto) etl::operator%= (LE &&lhs, RE rhs)
 Compound modulo of the right hand side to the left hand side. More...
 
template<simple_lhs LE, etl_expr RE>
decltype(auto) etl::operator%= (LE &&lhs, const RE &rhs)
 Compound modulo of the right hand side to the left hand side. More...
 
template<typename LE , typename RE >
auto etl::equal (LE &&lhs, RE rhs)
 Builds an expression representing the elementwise comparison of lhs and rhs. More...
 
template<typename LE , typename RE >
auto etl::not_equal (LE &&lhs, RE rhs)
 Builds an expression representing the elementwise comparison of lhs and rhs. More...
 
template<typename LE , typename RE >
auto etl::less (LE &&lhs, RE rhs)
 Builds an expression representing the elementwise less than comparison of lhs and rhs. More...
 
template<typename LE , typename RE >
auto etl::less_equal (LE &&lhs, RE rhs)
 Builds an expression representing the elementwise less than or equals comparison of lhs and rhs. More...
 
template<typename LE , typename RE >
auto etl::greater (LE &&lhs, RE rhs)
 Builds an expression representing the elementwise greater than comparison of lhs and rhs. More...
 
template<typename LE , typename RE >
auto etl::greater_equal (LE &&lhs, RE rhs)
 Builds an expression representing the elementwise greater than or equals comparison of lhs and rhs. More...
 
template<etl_expr LE, etl_expr RE>
auto etl::logical_and (LE &&lhs, RE &&rhs)
 Builds an expression representing the elementwise logical and of lhs and rhs. More...
 
template<etl_expr LE, std::convertible_to< value_t< LE >> RE>
auto etl::logical_and (LE &&lhs, RE rhs)
 Builds an expression representing the elementwise logical and of lhs and rhs (scalar) More...
 
template<etl_expr RE, std::convertible_to< value_t< RE >> LE>
auto etl::logical_and (LE lhs, RE &&rhs)
 Builds an expression representing the elementwise logical and of lhs (scalar) and rhs. More...
 
template<etl_expr LE, etl_expr RE>
auto etl::logical_xor (LE &&lhs, RE &&rhs)
 Builds an expression representing the elementwise logical xor of lhs and rhs. More...
 
template<etl_expr LE, std::convertible_to< value_t< LE >> RE>
auto etl::logical_xor (LE &&lhs, RE rhs)
 Builds an expression representing the elementwise logical xor of lhs and rhs (scalar) More...
 
template<etl_expr RE, std::convertible_to< value_t< RE >> LE>
auto etl::logical_xor (LE lhs, RE &&rhs)
 Builds an expression representing the elementwise logical xor of lhs (scalar) and rhs. More...
 
template<etl_expr LE, etl_expr RE>
auto etl::logical_or (LE &&lhs, RE &&rhs)
 Builds an expression representing the elementwise logical or of lhs and rhs. More...
 
template<etl_expr LE, std::convertible_to< value_t< LE >> RE>
auto etl::logical_or (LE &&lhs, RE rhs)
 Builds an expression representing the elementwise logical or of lhs and rhs (scalar) More...
 
template<etl_expr RE, std::convertible_to< value_t< RE >> LE>
auto etl::logical_or (LE lhs, RE &&rhs)
 Builds an expression representing the elementwise logical or of lhs (scalar) and rhs. More...
 

Detailed Description

Contains all the operators and functions to build binary expressions.