5#ifndef OASIS_CONCEPTS_HPP
6#define OASIS_CONCEPTS_HPP
30 T::GetStaticCategory()
37template <
template <IExpression, IExpression>
class DerivedT,
IExpression MostSigOpT,
IExpression LeastSigOpT>
40template <
template <IExpression>
class DerivedT,
IExpression OpT>
50template <
typename T,
typename... U>
53template <
typename Derived>
55 []<
template <
typename,
typename>
typename D,
IExpression T,
IExpression U>(BinaryExpression<D, T, U>&) { }(d);
58template <
typename Derived>
60 []<
template <
typename>
typename D,
IExpression T>(UnaryExpression<D, T>&) { }(d);
71 typename T::unexpected_type;
A binary expression.
Definition BinaryExpression.hpp:82
Definition UnaryExpression.hpp:14
Definition Concepts.hpp:54
Definition Concepts.hpp:59
Definition Concepts.hpp:70
An expression concept.
Definition Concepts.hpp:28
Definition Concepts.hpp:64
Checks if type T is same as any of the provided types in U.
Definition Concepts.hpp:51
ExpressionType
The type of an expression.
Definition Expression.hpp:22