Add missing copy constructor and assignment operators

This commit is contained in:
Roland Winklmeier
2018-08-07 14:41:40 +02:00
committed by Klaus Basan
parent 3774f2b60f
commit a36023f6d8
3 changed files with 19 additions and 6 deletions

View File

@@ -34,6 +34,7 @@ namespace BlackMisc
//! @{ //! @{
explicit OutputIterator(const F &func) : m_func(func) {} explicit OutputIterator(const F &func) : m_func(func) {}
explicit OutputIterator(F &&func) : m_func(std::move(func)) {} explicit OutputIterator(F &&func) : m_func(std::move(func)) {}
OutputIterator(const OutputIterator &other) : m_func(other.m_func) {}
//! @} //! @}
//! Advance the iterator (no-op) //! Advance the iterator (no-op)

View File

@@ -28,5 +28,16 @@ namespace BlackSimPlugin
{ {
SafeRelease(m_hostAddress); SafeRelease(m_hostAddress);
} }
CHostNode &CHostNode::operator=(const CHostNode &other)
{
// check for self-assignment
if(&other == this) { return *this; }
m_appDesc = other.m_appDesc;
m_sessionName = other.m_sessionName;
other.m_hostAddress->Duplicate(&m_hostAddress);
return *this;
}
} }
} }

View File

@@ -52,14 +52,15 @@ namespace BlackSimPlugin
//! Set the session name //! Set the session name
void setSessionName(const QString &name) { m_sessionName = name; } void setSessionName(const QString &name) { m_sessionName = name; }
//! Copy assignment operator
CHostNode &operator=(const CHostNode &other);
private: private:
IDirectPlay8Address *m_hostAddress = nullptr;
IDirectPlay8Address *m_hostAddress = nullptr; DPN_APPLICATION_DESC m_appDesc;
DPN_APPLICATION_DESC m_appDesc; QString m_sessionName;
QString m_sessionName;
}; };
} }
} }
#endif //BLACKSIMPLUGIN_FS9_HOST_NODE_H #endif //guard