summaryrefslogtreecommitdiff
path: root/value.h
diff options
context:
space:
mode:
authorTom Stellard <tstellar@gmail.com>2010-12-15 18:33:13 -0800
committerTom Stellard <tstellar@gmail.com>2010-12-15 18:33:13 -0800
commitb1d5428ecbbcde94071d642a3c1672f2f74a6ee1 (patch)
tree308796efcd02830c4b7adda434a2a760c746476f /value.h
parent5c16dd6f39da486d31e890d068cb7987a1785c5a (diff)
Add hack to emulate overloaded evaluate() functions
Diffstat (limited to 'value.h')
-rw-r--r--value.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/value.h b/value.h
index ba1eae1..6a18053 100644
--- a/value.h
+++ b/value.h
@@ -8,12 +8,24 @@
class evaluator;
+enum value_type {
+ VALUE_TYPE_GENERIC,
+ VALUE_TYPE_TREE,
+ VALUE_TYPE_CONST,
+ VALUE_TYPE_FLOAT
+};
+
class value {
public:
+ value(enum value_type type);
+
virtual value * simplify() = 0;
virtual value * clone() = 0;
virtual std::string to_string() = 0;
+ enum value_type get_type();
+private:
+ enum value_type m_type;
};
class tree_value : public value {