15 #ifndef OPENSCENARIO_INTERPRETER__SYNTAX__RULE_HPP_
16 #define OPENSCENARIO_INTERPRETER__SYNTAX__RULE_HPP_
26 inline namespace syntax
28 template <
typename T,
typename U>
34 template <
typename T,
typename U>
37 using type = std::valarray<bool>;
77 template <
typename T,
typename U = T>
78 constexpr
auto operator()(
const T & lhs,
const U & rhs)
const noexcept ->
83 return equal_to<T>()(std::forward<decltype(lhs)>(lhs), std::forward<decltype(rhs)>(rhs));
85 return std::greater()(std::forward<decltype(lhs)>(lhs), std::forward<decltype(rhs)>(rhs));
87 return std::less()(std::forward<decltype(lhs)>(lhs), std::forward<decltype(rhs)>(rhs));
89 return std::greater_equal()(
90 std::forward<decltype(lhs)>(lhs), std::forward<decltype(rhs)>(rhs));
92 return std::less_equal()(
93 std::forward<decltype(lhs)>(lhs), std::forward<decltype(rhs)>(rhs));
95 return std::not_equal_to()(
96 std::forward<decltype(lhs)>(lhs), std::forward<decltype(rhs)>(rhs));
auto operator>>(std::istream &, Boolean &) -> std::istream &
Definition: boolean.cpp:52
auto operator<<(std::ostream &, const Boolean &) -> std::ostream &
Definition: boolean.cpp:46
std::valarray< bool > type
Definition: rule.hpp:37
bool type
Definition: rule.hpp:31
Rule(value_type value)
Definition: rule.hpp:73
value_type
Definition: rule.hpp:62
@ lessThan
Definition: rule.hpp:65
@ notEqualTo
Definition: rule.hpp:68
@ greaterOrEqual
Definition: rule.hpp:66
@ lessOrEqual
Definition: rule.hpp:67
@ equalTo
Definition: rule.hpp:63
@ greaterThan
Definition: rule.hpp:64
enum openscenario_interpreter::syntax::Rule::value_type value
constexpr auto operator()(const T &lhs, const U &rhs) const noexcept -> typename RuleResultDeduction< T, U >::type
Definition: rule.hpp:78
Definition: equal_to.hpp:30