5#ifndef OASIS_CONCEPTS_HPP
6#define OASIS_CONCEPTS_HPP
32 T::GetStaticCategory()
39template <
template <IExpression, IExpression>
class DerivedT,
IExpression MostSigOpT,
IExpression LeastSigOpT>
42template <
template <IExpression>
class DerivedT,
IExpression OpT>
52template <
typename T,
typename... U>
55template <
typename Derived>
57 []<
template <
typename,
typename>
typename D,
IExpression T,
IExpression U>(BinaryExpression<D, T, U>&) { }(d);
60template <
typename Derived>
62 []<
template <
typename>
typename D,
IExpression T>(UnaryExpression<D, T>&) { }(d);
73 typename T::unexpected_type;
A binary expression.
Definition BinaryExpression.hpp:83
Definition UnaryExpression.hpp:14
Definition Concepts.hpp:56
Definition Concepts.hpp:61
Definition Concepts.hpp:72
An expression concept.
Definition Concepts.hpp:30
Definition Concepts.hpp:66
Checks if type T is same as any of the provided types in U.
Definition Concepts.hpp:53
ExpressionType
The type of an expression.
Definition Expression.hpp:22