#ifndef MALACHSCRIPT_CLASSATTR_HPP #define MALACHSCRIPT_CLASSATTR_HPP #include namespace MalachScript { enum class ClassAttr : uint8_t { None = 0, Shared = 1 << 1, Abstract = 1 << 2, Final = 1 << 3, External = 1 << 4, }; class ClassAttrHelpers { public: constexpr inline static bool Contains(ClassAttr set, ClassAttr flag) { return (static_cast(set) & static_cast(flag)) != 0; } constexpr inline static ClassAttr Set(ClassAttr set, ClassAttr flag) { return static_cast(static_cast(set) | static_cast(flag)); } }; } #endif // MALACHSCRIPT_CLASSATTR_HPP