All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

Commit 40583339 authored by Jonathon Duerig's avatar Jonathon Duerig

This is a workaround for the STL swap function. It has some surprising...

This is a workaround for the STL swap function. It has some surprising behaviour, so I wrote my own.
parent 32eacfb5
......@@ -100,13 +100,22 @@ OptimalIpTree::OptimalIpTree(OptimalIpTree const & right)
}
}
template<class T>
void swap_modify(T & left, T & right)
{
T temp;
temp = left;
left = right;
right = temp;
}
OptimalIpTree & OptimalIpTree::operator=(OptimalIpTree const & right)
{
OptimalIpTree swapper(right);
m_firstHops.swap(swapper.m_firstHops);
swap(m_depth, swapper.m_depth);
swap(m_children[0], swapper.m_children[0]);
swap(m_children[1], swapper.m_children[1]);
swap_modify(m_children[0], swapper.m_children[0]);
swap_modify(m_children[1], swapper.m_children[1]);
return *this;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment