NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
LogicalExpressions.hpp File Reference
#include <memory>
#include <type_traits>
Include dependency graph for LogicalExpressions.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

 NES
 This exception represents a network error.
 

Functions

ExpressionNodePtr NES::operator&& (ExpressionNodePtr leftExp, ExpressionNodePtr rightExp)
 Defines common logical operations between expression nodes. More...
 
ExpressionNodePtr NES::operator|| (ExpressionNodePtr leftExp, ExpressionNodePtr rightExp)
 
ExpressionNodePtr NES::operator== (ExpressionNodePtr leftExp, ExpressionNodePtr rightExp)
 
ExpressionNodePtr NES::operator!= (ExpressionNodePtr leftExp, ExpressionNodePtr rightExp)
 
ExpressionNodePtr NES::operator<= (ExpressionNodePtr leftExp, ExpressionNodePtr rightExp)
 
ExpressionNodePtr NES::operator>= (ExpressionNodePtr leftExp, ExpressionNodePtr rightExp)
 
ExpressionNodePtr NES::operator< (ExpressionNodePtr leftExp, ExpressionNodePtr rightExp)
 
ExpressionNodePtr NES::operator> (ExpressionNodePtr leftExp, ExpressionNodePtr rightExp)
 
ExpressionNodePtr NES::operator! (ExpressionNodePtr exp)
 
ExpressionNodePtr NES::operator! (ExpressionItem leftExp)
 
template<typename T , typename = std::enable_if_t<std::disjunction_v<std::is_same<std::decay_t<T>, ExpressionNodePtr>, std::is_same<std::decay_t<T>, ExpressionItem>, std::is_constructible<ExpressionItem, std::decay_t<T>>>>>
auto NES::toExpressionNodePtr (T &&t) -> ExpressionNodePtr
 Defines common operations on at least one operator which is not of type ExpressionNodePtr but either a constant or an instance of the type ExpressionItem. More...
 
template<typename LHS , typename RHS , typename = std::enable_if_t<expression_generator_v<LHS, RHS>>>
auto NES::operator&& (LHS &&lhs, RHS &&rhs) -> ExpressionNodePtr
 Operator which accepts parameters as long as they can be used to construct an ExpressionItem. If both the LHS and RHS are ExpressionNodePtrs, this overload is not used. More...
 
template<typename LHS , typename RHS , typename = std::enable_if_t<expression_generator_v<LHS, RHS>>>
auto NES::operator|| (LHS &&lhs, RHS &&rhs) -> ExpressionNodePtr
 
template<typename LHS , typename RHS , typename = std::enable_if_t<expression_generator_v<LHS, RHS>>>
auto NES::operator== (LHS &&lhs, RHS &&rhs) -> ExpressionNodePtr
 
template<typename LHS , typename RHS , typename = std::enable_if_t<expression_generator_v<LHS, RHS>>>
auto NES::operator!= (LHS &&lhs, RHS &&rhs) -> ExpressionNodePtr
 
template<typename LHS , typename RHS , typename = std::enable_if_t<expression_generator_v<LHS, RHS>>>
auto NES::operator<= (LHS &&lhs, RHS &&rhs) -> ExpressionNodePtr
 
template<typename LHS , typename RHS , typename = std::enable_if_t<expression_generator_v<LHS, RHS>>>
auto NES::operator>= (LHS &&lhs, RHS &&rhs) -> ExpressionNodePtr
 
template<typename LHS , typename RHS , typename = std::enable_if_t<expression_generator_v<LHS, RHS>>>
auto NES::operator< (LHS &&lhs, RHS &&rhs) -> ExpressionNodePtr
 
template<typename LHS , typename RHS , typename = std::enable_if_t<expression_generator_v<LHS, RHS>>>
auto NES::operator> (LHS &&lhs, RHS &&rhs) -> ExpressionNodePtr