Move semantics in SizeNotifiable.
This commit is contained in:
parent
6fe884cd5a
commit
2a4ae78374
4 changed files with 40 additions and 22 deletions
|
@ -25,16 +25,24 @@ namespace cloonel {
|
|||
///----------------------------------------------------------------------
|
||||
void AutoRegister::Unregister() noexcept {
|
||||
#if !defined(NDEBUG)
|
||||
assert(m_registered);
|
||||
assert(m_registered or not m_sdlmain);
|
||||
m_registered = false;
|
||||
#endif
|
||||
assert(m_sdlmain);
|
||||
m_sdlmain->UnregisterForResChange(m_id);
|
||||
if (m_registered) {
|
||||
assert(m_sdlmain);
|
||||
m_sdlmain->UnregisterForResChange(m_id);
|
||||
}
|
||||
}
|
||||
|
||||
///----------------------------------------------------------------------
|
||||
///----------------------------------------------------------------------
|
||||
void AutoRegister::Swap (AutoRegister& parOther) noexcept {
|
||||
AutoRegister::AutoRegister (AutoRegister&& parOther) :
|
||||
m_sdlmain(nullptr),
|
||||
m_id(0)
|
||||
#if !defined(NDEBUG)
|
||||
, m_registered(false)
|
||||
#endif
|
||||
{
|
||||
std::swap(m_sdlmain, parOther.m_sdlmain);
|
||||
std::swap(m_id, parOther.m_id);
|
||||
#if !defined(NDEBUG)
|
||||
|
@ -48,11 +56,4 @@ namespace cloonel {
|
|||
void SizeNotifiableBase::NotifyResChanged (const SizeRatio& parSize) {
|
||||
m_scaleRatio = parSize.Ratio();
|
||||
}
|
||||
|
||||
///--------------------------------------------------------------------------
|
||||
///--------------------------------------------------------------------------
|
||||
void SizeNotifiableBase::swap (SizeNotifiableBase& parOther) noexcept {
|
||||
std::swap(m_scaleRatio.x(), parOther.m_scaleRatio.x());
|
||||
std::swap(m_scaleRatio.y(), parOther.m_scaleRatio.y());
|
||||
}
|
||||
} //namespace cloonel
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue