-
Jacki authored
Signed-off-by:
Jacki <jacki@thejackimonster.de>
Jacki authoredSigned-off-by:
Jacki <jacki@thejackimonster.de>
GlslangCompiler.hpp 1.45 KiB
#pragma once
#include <vkcv/ShaderStage.hpp>
#include "Compiler.hpp"
namespace vkcv::shader {
/**
* @addtogroup vkcv_shader
* @{
*/
/**
* An abstract class to handle Glslang runtime shader compilation.
*/
class GlslangCompiler : public Compiler {
public:
/**
* The constructor of a runtime Glslang shader compiler instance.
*/
GlslangCompiler();
/**
* The copy-constructor of a runtime Glslang shader compiler instance.
*
* @param[in] other Other instance of a Glslang shader compiler instance
*/
GlslangCompiler(const GlslangCompiler& other);
/**
* The move-constructor of a runtime Glslang shader compiler instance.
*
* @param[out] other Other instance of a Glslang shader compiler instance
*/
GlslangCompiler(GlslangCompiler&& other) = default;
/**
* The destructor of a runtime Glslang shader compiler instance.
*/
~GlslangCompiler();
/**
* The copy-operator of a runtime Glslang shader compiler instance.
*
* @param[in] other Other instance of a Glslang shader compiler instance
* @return Reference to this instance
*/
GlslangCompiler& operator=(const GlslangCompiler& other);
/**
* The copy-operator of a runtime Glslang shader compiler instance.
*
* @param[out] other Other instance of a Glslang shader compiler instance
* @return Reference to this instance
*/
GlslangCompiler& operator=(GlslangCompiler&& other) = default;
};
/** @} */
}