Fix error in nonhook_node due to missing copy-constructor and assignment implementstion

This commit is contained in:
Ion Gaztañaga
2016-11-12 19:03:59 +01:00
parent 7853a74c01
commit 116272067b

View File

@@ -29,7 +29,7 @@ namespace intrusive{
template < typename NodeTraits, template <typename> class Node_Algorithms >
struct nonhook_node_member : public NodeTraits::node
{
typedef NodeTraits node_traits;
typedef NodeTraits node_traits;
typedef typename node_traits::node node;
typedef typename node_traits::node_ptr node_ptr;
typedef typename node_traits::const_node_ptr const_node_ptr;
@@ -43,13 +43,12 @@ struct nonhook_node_member : public NodeTraits::node
nonhook_node_member(const nonhook_node_member& rhs)
{
BOOST_TEST(!rhs.is_linked());
*this = rhs;
node_algorithms::init(pointer_traits<node_ptr>::pointer_to(static_cast< node& >(*this)));
}
nonhook_node_member& operator = (const nonhook_node_member& rhs)
{
BOOST_TEST(!this->is_linked() && !rhs.is_linked());
static_cast< node& >(*this) = rhs;
return *this;
}