2#include <ossia/detail/config.hpp>
4#include <ossia/network/value/value.hpp>
11class OSSIA_EXPORT math_expression
17 void seed_random(uint64_t seed1, uint64_t seed2);
18 void add_variable(
const std::string& var,
double& value);
19 void add_constant(
const std::string& var,
double& value);
20 void add_vector(
const std::string& var, std::vector<double>& value);
21 void rebase_vector(
const std::string& var, std::vector<double>& value);
23 void register_symbol_table();
25 bool set_expression(
const std::string& expr);
29 bool valid() const noexcept;
33 bool has_variable(std::string_view var) const noexcept;
36 std::
string error() const;
40 ossia::value result();
43 math_expression(const math_expression&) = delete;
44 math_expression(math_expression&&) = delete;
45 math_expression& operator=(const math_expression&) = delete;
46 math_expression& operator=(math_expression&&) = delete;