summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControlReference/ExpressionParser.h
diff options
context:
space:
mode:
authorMichael M <mchtly@gmail.com>2017-06-07 17:30:07 -0700
committerMichael M <mchtly@gmail.com>2017-09-14 12:53:35 -0700
commit7e74961eb150f28a56405403335f4904f888e058 (patch)
tree6330607cd1180cdd0bab7a32299902622cba4f0b /Source/Core/InputCommon/ControlReference/ExpressionParser.h
parent85301e2baeda9a97c4c5ebbf07807566831e22d1 (diff)
ExpressionParser: expose ExpressionNode directly
Diffstat (limited to 'Source/Core/InputCommon/ControlReference/ExpressionParser.h')
-rw-r--r--Source/Core/InputCommon/ControlReference/ExpressionParser.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/Source/Core/InputCommon/ControlReference/ExpressionParser.h b/Source/Core/InputCommon/ControlReference/ExpressionParser.h
index 55bf86b951..8fde647390 100644
--- a/Source/Core/InputCommon/ControlReference/ExpressionParser.h
+++ b/Source/Core/InputCommon/ControlReference/ExpressionParser.h
@@ -47,16 +47,14 @@ private:
bool is_input;
};
-class ExpressionNode;
class Expression
{
public:
- explicit Expression(std::unique_ptr<ExpressionNode>&& node = {});
- ~Expression();
- ControlState GetValue() const;
- void SetValue(ControlState state);
- int num_controls;
- std::unique_ptr<ExpressionNode> node;
+ virtual ~Expression() = default;
+ virtual ControlState GetValue() const = 0;
+ virtual void SetValue(ControlState state) = 0;
+ virtual int CountNumControls() const = 0;
+ virtual operator std::string() const = 0;
};
enum class ParseStatus