Design Patterns
or_exp.h
Go to the documentation of this file.
1 // Based on "Design Patterns: Elements of Reusable Object-Oriented Software"
2 // book by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm
3 //
4 // Created by Bartosz Rachwal. The National Institute of Advanced Industrial Science and Technology, Japan.
5 
6 #ifndef OPERATIONAL_INTERPRETER_OR_EXP_H_
7 #define OPERATIONAL_INTERPRETER_OR_EXP_H_
8 
10 
11 namespace operational
12 {
13 namespace interpreter
14 {
15 class OrExp : public BooleanExpInterface
16 {
17  public:
18  OrExp(BooleanExpInterface* left_operand, BooleanExpInterface* right_operand);
19 
20  virtual bool Evaluate(InterpreterContextInterface& context) override;
21  virtual BooleanExpInterface *Replace(const std::string& name, BooleanExpInterface& expression) override;
22  virtual BooleanExpInterface *Copy() const override;
23 
24  private:
25  BooleanExpInterface* left_operand_;
26  BooleanExpInterface* right_operand_;
27 };
28 }
29 }
30 
31 #endif
32 
Definition: application.cc:10
Definition: boolean_exp_interface.h:17
virtual BooleanExpInterface * Replace(const std::string &name, BooleanExpInterface &expression) override
Definition: or_exp.cc:28
Definition: interpreter_context_interface.h:17
virtual bool Evaluate(InterpreterContextInterface &context) override
Definition: or_exp.cc:18
Definition: or_exp.h:15
virtual BooleanExpInterface * Copy() const override
Definition: or_exp.cc:23
OrExp(BooleanExpInterface *left_operand, BooleanExpInterface *right_operand)
Definition: or_exp.cc:12