OSSIA
Open Scenario System for Interactive Application
expression_not.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <ossia/detail/config.hpp>
4 
6 
7 #include <memory>
8 
12 namespace ossia::expressions
13 {
18 class OSSIA_EXPORT expression_not final : public expression_callback_container
19 {
20 public:
21  expression_not(expression_ptr);
22  expression_not(expression_not&& other) = delete;
23  expression_not& operator=(expression_not&& other) = delete;
24 
25  expression_not(const expression_not& other) = delete;
26  expression_not& operator=(const expression_not& other) = delete;
27 
28  virtual ~expression_not();
29 
30  bool evaluate() const;
31  void update() const;
32  void reset();
33 
34  expression_base& get_expression() const;
35 
36 private:
37  void on_first_callback_added() override;
38  void on_removing_last_callback() override;
39 
40  void result_callback(bool result);
41 
42  expression_ptr m_expression;
43  expression_callback_iterator m_callback;
44 };
45 }
expression_not : negation of an expression
Definition: expression_not.hpp:19