You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make Node move constructor and assignment operator noexcept (#809)
Move constructor:
* m_isValid (bool) exchange(rhs.m_isValid, true)
* m_invalidKey (std::string) std::move()
* m_pMemory (shared_memory_holder) std::move()
* m_pNode (node*) exchange(rhs.m_pNode, nullptr)
This leaves the moved-from Node as if it was just default constructed.
Move assignment:
A temporary Node is move constructed (using the above) leaving the moved-from
Node as if it was just default constructed.
*this then assigns the temporary, using AssignNodeDetail() directly to avoid
a second self-assignment check.
Signed-off-by: Ted Lyngmo <ted@lyncon.se>
0 commit comments