slang_rs_exportable.h revision a41ce1d98094da84643995d40d71c529905123fc
1#ifndef _SLANG_COMPILER_RS_EXPORTABLE_HPP 2#define _SLANG_COMPILER_RS_EXPORTABLE_HPP 3 4#include "slang_rs_context.h" 5 6namespace slang { 7 8class RSExportable { 9public: 10 enum Kind { 11 EX_FUNC, 12 EX_TYPE, 13 EX_VAR 14 }; 15 16private: 17 Kind mK; 18 19protected: 20 RSExportable(RSContext *Context, RSExportable::Kind K) : mK(K) { 21 Context->newExportable(this); 22 return; 23 } 24 25public: 26 inline Kind getKind() const { return mK; } 27 28 virtual ~RSExportable() { } 29}; 30 31} 32 33#endif // _SLANG_COMPILER_RS_EXPORTABLE_HPP 34