5#ifndef OAISIS_BOUNDEDEXPRESSION_HPP
6#define OAISIS_BOUNDEDEXPRESSION_HPP
14template <IExpression LowerBoundT = Expression, IExpression UpperBoundT = Expression>
35 return lowerBound !=
nullptr;
40 return upperBound !=
nullptr;
62 lowerBound = expr.Copy();
73 upperBound = expr.Copy();
Definition BoundedExpression.hpp:15
BoundedExpression(const LowerBoundT &lowerBound, const UpperBoundT &upperBound)
Definition BoundedExpression.hpp:27
auto GetLowerBound() const -> const LowerBoundT &
Definition BoundedExpression.hpp:43
BoundedExpression(const BoundedExpression &other)
Definition BoundedExpression.hpp:19
auto GetUpperBound() const -> const UpperBoundT &
Definition BoundedExpression.hpp:49
auto HasLowerBound() const -> bool
Definition BoundedExpression.hpp:33
BoundedExpression()=default
void SetLowerBound(const T &expr)
Definition BoundedExpression.hpp:57
auto HasUpperBound() const -> bool
Definition BoundedExpression.hpp:38
void SetUpperBound(const T &expr)
Definition BoundedExpression.hpp:68
An expression.
Definition Expression.hpp:56
Checks if type T is same as any of the provided types in U.
Definition Concepts.hpp:48