3 #include <ossia/detail/config.hpp>
5 #include <ossia/detail/nullable_variant.hpp>
7 #include <ossia/editor/expression/operators.hpp>
8 #include <ossia/network/base/parameter.hpp>
9 #include <ossia/network/value/value.hpp>
16 namespace ossia::expressions
25 using val_t = ossia::nullable_variant<ossia::value, ossia::destination>;
27 const value& lhs, comparator op = comparator::EQUAL,
const value& rhs = impulse{});
29 const destination& lhs, comparator op = comparator::EQUAL,
30 const value& rhs = impulse{});
31 expression_atom(
const destination& lhs, comparator op,
const destination& rhs);
37 expression_atom(
const val_t& lhs, comparator op,
const val_t& rhs, dummy_t);
47 bool evaluate()
const;
51 const val_t& get_first_operand()
const;
52 comparator get_operator()
const;
53 const val_t& get_second_operand()
const;
56 bool operator()(
const ossia::value& first,
const ossia::destination& second)
const;
57 bool operator()(
const ossia::destination& first,
const ossia::value& second)
const;
59 operator()(
const ossia::destination& first,
const ossia::destination& second)
const;
62 operator()(
const ossia::value& v,
const ossia::monostate& m)
const noexcept
67 operator()(
const ossia::destination& v,
const ossia::monostate& m)
const noexcept
72 operator()(
const ossia::monostate& v,
const ossia::value& m)
const noexcept
77 operator()(
const ossia::monostate& v,
const ossia::destination& m)
const noexcept
82 operator()(
const ossia::monostate& v,
const ossia::monostate& m)
const noexcept
88 bool operator()(
const ossia::value& first,
const val_t& second)
const;
89 bool operator()(
const val_t& first,
const ossia::value& second)
const;
90 void on_first_callback_added()
override;
91 void on_removing_last_callback()
override;
98 net::parameter_base::callback_index m_firstCallback;
99 net::parameter_base::callback_index m_secondCallback;
101 comparator m_operator{};
expression_atom : numeric operators in expressions.
Definition: expression_atom.hpp:23
The value class.
Definition: value.hpp:173