#ifndef sk_TYPE_HPP #define sk_TYPE_HPP #include "commons.hpp" #define TYPE_TYPE(G) \ G(TYPE_INT), \ G(TYPE_FLOAT), \ G(TYPE_BOOL), \ G(TYPE_STRING), namespace sk { SK_ENUM(Type, TYPE_TYPE); class Type { public: explicit Type(TypeType type); virtual ~Type(); TypeType type() const { return m_type; } private: TypeType m_type; }; } #endif