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:
|
||||
NzDynLib();
|
||||
NzDynLib(NzDynLib&& lib);
|
||||
~NzDynLib();
|
||||
|
||||
NzString GetLastError() const;
|
||||
|
|
@ -47,6 +48,8 @@ class NzDynLib : NzNonCopyable
|
|||
bool Load(const NzString& libraryPath, bool appendExtension = true);
|
||||
void Unload();
|
||||
|
||||
NzDynLib& operator=(NzDynLib&& lib);
|
||||
|
||||
private:
|
||||
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()
|
||||
{
|
||||
Unload();
|
||||
|
|
@ -82,3 +89,15 @@ void NzDynLib::Unload()
|
|||
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