diff --git a/src/Magnum/GL/BufferTexture.h b/src/Magnum/GL/BufferTexture.h index f68914f4d..96d8cfbb3 100644 --- a/src/Magnum/GL/BufferTexture.h +++ b/src/Magnum/GL/BufferTexture.h @@ -145,6 +145,18 @@ class MAGNUM_GL_EXPORT BufferTexture: public AbstractTexture { */ explicit BufferTexture(NoCreateT) noexcept: AbstractTexture{NoCreate, GL_TEXTURE_BUFFER} {} + /** @brief Copying is not allowed */ + BufferTexture(const BufferTexture&) = delete; + + /** @brief Move constructor */ + BufferTexture(BufferTexture&&) noexcept = default; + + /** @brief Copying is not allowed */ + BufferTexture& operator=(const BufferTexture&) = delete; + + /** @brief Move assignment */ + BufferTexture& operator=(BufferTexture&&) noexcept = default; + /** * @brief Bind texture to given image unit * @param imageUnit Image unit diff --git a/src/Magnum/GL/CubeMapTexture.h b/src/Magnum/GL/CubeMapTexture.h index 0dee791e3..c793fe749 100644 --- a/src/Magnum/GL/CubeMapTexture.h +++ b/src/Magnum/GL/CubeMapTexture.h @@ -176,6 +176,18 @@ class MAGNUM_GL_EXPORT CubeMapTexture: public AbstractTexture { */ explicit CubeMapTexture(NoCreateT) noexcept: AbstractTexture{NoCreate, GL_TEXTURE_CUBE_MAP} {} + /** @brief Copying is not allowed */ + CubeMapTexture(const CubeMapTexture&) = delete; + + /** @brief Move constructor */ + CubeMapTexture(CubeMapTexture&&) noexcept = default; + + /** @brief Copying is not allowed */ + CubeMapTexture& operator=(const CubeMapTexture&) = delete; + + /** @brief Move assignment */ + CubeMapTexture& operator=(CubeMapTexture&&) noexcept = default; + #if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL) /** * @brief Bind level of given cube map texture coordinate to given image unit diff --git a/src/Magnum/GL/CubeMapTextureArray.h b/src/Magnum/GL/CubeMapTextureArray.h index dcb61c5c4..8e753cfa9 100644 --- a/src/Magnum/GL/CubeMapTextureArray.h +++ b/src/Magnum/GL/CubeMapTextureArray.h @@ -155,6 +155,18 @@ class MAGNUM_GL_EXPORT CubeMapTextureArray: public AbstractTexture { */ explicit CubeMapTextureArray(NoCreateT) noexcept: AbstractTexture{NoCreate, GL_TEXTURE_CUBE_MAP_ARRAY} {} + /** @brief Copying is not allowed */ + CubeMapTextureArray(const CubeMapTextureArray&) = delete; + + /** @brief Move constructor */ + CubeMapTextureArray(CubeMapTextureArray&&) noexcept = default; + + /** @brief Copying is not allowed */ + CubeMapTextureArray& operator=(const CubeMapTextureArray&) = delete; + + /** @brief Move assignment */ + CubeMapTextureArray& operator=(CubeMapTextureArray&&) noexcept = default; + /** * @brief Bind level of given texture layer to given image unit * @param imageUnit Image unit diff --git a/src/Magnum/GL/PrimitiveQuery.h b/src/Magnum/GL/PrimitiveQuery.h index a16f8dbf5..c846cc159 100644 --- a/src/Magnum/GL/PrimitiveQuery.h +++ b/src/Magnum/GL/PrimitiveQuery.h @@ -151,6 +151,18 @@ class MAGNUM_GL_EXPORT PrimitiveQuery: public AbstractQuery { */ explicit PrimitiveQuery(NoCreateT) noexcept: AbstractQuery{NoCreate, GLenum(Target::TransformFeedbackPrimitivesWritten)} {} + /** @brief Copying is not allowed */ + PrimitiveQuery(const PrimitiveQuery&) = delete; + + /** @brief Move constructor */ + PrimitiveQuery(PrimitiveQuery&&) noexcept = default; + + /** @brief Copying is not allowed */ + PrimitiveQuery& operator=(const PrimitiveQuery&) = delete; + + /** @brief Move assignment */ + PrimitiveQuery& operator=(PrimitiveQuery&&) noexcept = default; + /** * @brief Begin query * diff --git a/src/Magnum/GL/RectangleTexture.h b/src/Magnum/GL/RectangleTexture.h index 020e6e039..c44c63ba7 100644 --- a/src/Magnum/GL/RectangleTexture.h +++ b/src/Magnum/GL/RectangleTexture.h @@ -137,6 +137,18 @@ class MAGNUM_GL_EXPORT RectangleTexture: public AbstractTexture { */ explicit RectangleTexture(NoCreateT) noexcept: AbstractTexture{NoCreate, GL_TEXTURE_RECTANGLE} {} + /** @brief Copying is not allowed */ + RectangleTexture(const RectangleTexture&) = delete; + + /** @brief Move constructor */ + RectangleTexture(RectangleTexture&&) noexcept = default; + + /** @brief Copying is not allowed */ + RectangleTexture& operator=(const RectangleTexture&) = delete; + + /** @brief Move assignment */ + RectangleTexture& operator=(RectangleTexture&&) noexcept = default; + /** * @brief Bind texture to given image unit * @param imageUnit Image unit diff --git a/src/Magnum/GL/SampleQuery.h b/src/Magnum/GL/SampleQuery.h index bfe94c7ce..00f112777 100644 --- a/src/Magnum/GL/SampleQuery.h +++ b/src/Magnum/GL/SampleQuery.h @@ -208,6 +208,18 @@ class SampleQuery: public AbstractQuery { */ explicit SampleQuery(NoCreateT) noexcept: AbstractQuery{NoCreate, GLenum(Target::AnySamplesPassed)} {} + /** @brief Copying is not allowed */ + SampleQuery(const SampleQuery&) = delete; + + /** @brief Move constructor */ + SampleQuery(SampleQuery&&) noexcept = default; + + /** @brief Copying is not allowed */ + SampleQuery& operator=(const SampleQuery&) = delete; + + /** @brief Move assignment */ + SampleQuery& operator=(SampleQuery&&) noexcept = default; + #ifndef MAGNUM_TARGET_GLES /** * @brief Begin conditional rendering based on result value diff --git a/src/Magnum/GL/Texture.h b/src/Magnum/GL/Texture.h index c0145fa3b..ee6371189 100644 --- a/src/Magnum/GL/Texture.h +++ b/src/Magnum/GL/Texture.h @@ -189,6 +189,18 @@ template class Texture: public AbstractTexture { */ explicit Texture(NoCreateT) noexcept: AbstractTexture{NoCreate, Implementation::textureTarget()} {} + /** @brief Copying is not allowed */ + Texture(const Texture&) = delete; + + /** @brief Move constructor */ + Texture(Texture&&) noexcept = default; + + /** @brief Copying is not allowed */ + Texture& operator=(const Texture&) = delete; + + /** @brief Move assignment */ + Texture& operator=(Texture&&) noexcept = default; + #if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL) /** * @brief Bind level of texture to given image unit diff --git a/src/Magnum/GL/TextureArray.h b/src/Magnum/GL/TextureArray.h index 6bd4341af..174e6e197 100644 --- a/src/Magnum/GL/TextureArray.h +++ b/src/Magnum/GL/TextureArray.h @@ -173,6 +173,18 @@ template class TextureArray: public AbstractTexture { */ explicit TextureArray(NoCreateT) noexcept: AbstractTexture{NoCreate, Implementation::textureArrayTarget()} {} + /** @brief Copying is not allowed */ + TextureArray(const TextureArray&) = delete; + + /** @brief Move constructor */ + TextureArray(TextureArray&&) noexcept = default; + + /** @brief Copying is not allowed */ + TextureArray& operator=(const TextureArray&) = delete; + + /** @brief Move assignment */ + TextureArray& operator=(TextureArray&&) noexcept = default; + #ifndef MAGNUM_TARGET_WEBGL /** * @brief Bind level of given texture layer to given image unit diff --git a/src/Magnum/GL/TimeQuery.h b/src/Magnum/GL/TimeQuery.h index 90d845055..ebc010d3b 100644 --- a/src/Magnum/GL/TimeQuery.h +++ b/src/Magnum/GL/TimeQuery.h @@ -128,6 +128,18 @@ class TimeQuery: public AbstractQuery { */ explicit TimeQuery(NoCreateT) noexcept: AbstractQuery{NoCreate, GLenum(Target::TimeElapsed)} {} + /** @brief Copying is not allowed */ + TimeQuery(const TimeQuery&) = delete; + + /** @brief Move constructor */ + TimeQuery(TimeQuery&&) noexcept = default; + + /** @brief Copying is not allowed */ + TimeQuery& operator=(const TimeQuery&) = delete; + + /** @brief Move assignment */ + TimeQuery& operator=(TimeQuery&&) noexcept = default; + /* Overloads to remove WTF-factor from method chaining order */ #if !defined(DOXYGEN_GENERATING_OUTPUT) && !defined(MAGNUM_TARGET_WEBGL) TimeQuery& setLabel(const std::string& label) {