#pragma once #include namespace gl { class object { private: GLuint id = 0; public: operator GLuint() const { return id; } operator GLuint* const() { return &id; } operator const GLuint* const() const { return &id; } object() = default; object(const object&) = delete; object& operator=(const object&) = delete; }; }