#ifndef jk_TYPE_HPP #define jk_TYPE_HPP #include "commons.hpp" #define TYPE_TYPE(G) \ G(TYPE_NIL), \ G(TYPE_INT) namespace jk { JK_ENUM(Type, TYPE_TYPE); class Type { public: explicit Type(TypeType type); virtual ~Type(); TypeType type() const { return m_type; } private: TypeType m_type; }; } #endif