Added move constructor/operator to Shader
Former-commit-id: b947e0ac0dcddcfe64c83b63cf89df0e0850cbd2
This commit is contained in:
parent
e194d11374
commit
e6cef2ddbf
|
|
@ -28,6 +28,7 @@ class NAZARA_API NzShader : public NzResource, NzNonCopyable
|
|||
public:
|
||||
NzShader() = default;
|
||||
NzShader(nzShaderLanguage language);
|
||||
NzShader(NzShader&& shader);
|
||||
~NzShader();
|
||||
|
||||
bool Create(nzShaderLanguage language);
|
||||
|
|
@ -68,6 +69,8 @@ class NAZARA_API NzShader : public NzResource, NzNonCopyable
|
|||
|
||||
void Unlock();
|
||||
|
||||
NzShader& operator=(NzShader&& shader);
|
||||
|
||||
static bool IsLanguageSupported(nzShaderLanguage language);
|
||||
static bool IsTypeSupported(nzShaderType type);
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,12 @@ NzShader::NzShader(nzShaderLanguage language)
|
|||
Create(language);
|
||||
}
|
||||
|
||||
NzShader::NzShader(NzShader&& shader) :
|
||||
m_impl(shader.m_impl)
|
||||
{
|
||||
shader.m_impl = nullptr;
|
||||
}
|
||||
|
||||
NzShader::~NzShader()
|
||||
{
|
||||
Destroy();
|
||||
|
|
@ -609,6 +615,16 @@ void NzShader::Unlock()
|
|||
return m_impl->Unlock();
|
||||
}
|
||||
|
||||
NzShader& NzShader::operator=(NzShader&& shader)
|
||||
{
|
||||
Destroy();
|
||||
|
||||
m_impl = shader.m_impl;
|
||||
shader.m_impl = nullptr;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool NzShader::IsLanguageSupported(nzShaderLanguage language)
|
||||
{
|
||||
switch (language)
|
||||
|
|
|
|||
Loading…
Reference in New Issue