Added move constructor/operator to DynLib
Former-commit-id: af6c6b2ad7803a9ae6d7106188a0b69e341835c0
This commit is contained in:
parent
d72486d400
commit
9ac4df3c6c
|
|
@ -37,6 +37,7 @@ class NzDynLib : NzNonCopyable
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NzDynLib();
|
NzDynLib();
|
||||||
|
NzDynLib(NzDynLib&& lib);
|
||||||
~NzDynLib();
|
~NzDynLib();
|
||||||
|
|
||||||
NzString GetLastError() const;
|
NzString GetLastError() const;
|
||||||
|
|
@ -47,6 +48,8 @@ class NzDynLib : NzNonCopyable
|
||||||
bool Load(const NzString& libraryPath, bool appendExtension = true);
|
bool Load(const NzString& libraryPath, bool appendExtension = true);
|
||||||
void Unload();
|
void Unload();
|
||||||
|
|
||||||
|
NzDynLib& operator=(NzDynLib&& lib);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
NazaraMutexAttrib(m_mutex, mutable)
|
NazaraMutexAttrib(m_mutex, mutable)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,13 @@ m_impl(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NzDynLib::NzDynLib(NzDynLib&& lib) :
|
||||||
|
m_lastError(std::move(lib.m_lastError)),
|
||||||
|
m_impl(lib.m_impl)
|
||||||
|
{
|
||||||
|
lib.m_impl = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
NzDynLib::~NzDynLib()
|
NzDynLib::~NzDynLib()
|
||||||
{
|
{
|
||||||
Unload();
|
Unload();
|
||||||
|
|
@ -82,3 +89,15 @@ void NzDynLib::Unload()
|
||||||
m_impl = nullptr;
|
m_impl = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NzDynLib& NzDynLib::operator=(NzDynLib&& lib)
|
||||||
|
{
|
||||||
|
Unload();
|
||||||
|
|
||||||
|
m_impl = lib.m_impl;
|
||||||
|
m_lastError = std::move(lib.m_lastError);
|
||||||
|
|
||||||
|
lib.m_impl = nullptr;
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue