diff options
Diffstat (limited to 'src/op.h')
-rw-r--r-- | src/op.h | 22 |
1 files changed, 3 insertions, 19 deletions
@@ -67,19 +67,17 @@ private: mutable short refc; ptr_op_t left_; - variant<std::size_t, // used by constant INDEX + variant<ptr_op_t, // used by all binary operators value_t, // used by constant VALUE string, // used by constant IDENT - function_t, // used by terminal FUNCTION - ptr_op_t> // used by all binary operators - data; + function_t // used by terminal FUNCTION + > data; public: enum kind_t { // Constants VALUE, IDENT, - INDEX, CONSTANTS, @@ -138,20 +136,6 @@ public: assert(refc == 0); } - bool is_index() const { - return data.type() == typeid(std::size_t); - } - std::size_t& as_index_lval() { - assert(kind == INDEX); - return boost::get<std::size_t>(data); - } - const std::size_t& as_index() const { - return const_cast<op_t *>(this)->as_index_lval(); - } - void set_index(std::size_t val) { - data = val; - } - bool is_value() const { if (kind == VALUE) { assert(data.type() == typeid(value_t)); |