diff --git a/include/boost/intrusive/bstree.hpp b/include/boost/intrusive/bstree.hpp
index ac67e86..410eedf 100644
--- a/include/boost/intrusive/bstree.hpp
+++ b/include/boost/intrusive/bstree.hpp
@@ -725,15 +725,22 @@ class bstree_impl
this->insert_equal(b, e);
}
- //! Effects: to-do
+ //! Effects: Constructs a container moving resources from another container.
+ //! Internal comparison object and value traits are move constructed and
+ //! nodes belonging to x (except the node representing the "end") are linked to *this.
//!
+ //! Complexity: Constant.
+ //!
+ //! Throws: If value_traits::node_traits::node's
+ //! move constructor throws (this does not happen with predefined Boost.Intrusive hooks)
+ //! or the move constructor of the comparison objet throws.
bstree_impl(BOOST_RV_REF(bstree_impl) x)
: data_type(::boost::move(x.comp()), ::boost::move(x.get_value_traits()))
{
this->swap(x);
}
- //! Effects: to-do
+ //! Effects: Equivalent to swap
//!
BOOST_INTRUSIVE_FORCEINLINE bstree_impl& operator=(BOOST_RV_REF(bstree_impl) x)
{ this->swap(x); return *this; }
diff --git a/include/boost/intrusive/hashtable.hpp b/include/boost/intrusive/hashtable.hpp
index bae9d52..35ba774 100644
--- a/include/boost/intrusive/hashtable.hpp
+++ b/include/boost/intrusive/hashtable.hpp
@@ -1798,8 +1798,15 @@ class hashtable_impl
this->insert_equal(b, e);
}
- //! Effects: to-do
+ //! Effects: Constructs a container moving resources from another container.
+ //! Internal value traits, bucket traits, hasher and comparison are move constructed and
+ //! nodes belonging to x are linked to *this.
//!
+ //! Complexity: Constant.
+ //!
+ //! Throws: If value_traits::node_traits::node's
+ //! move constructor throws (this does not happen with predefined Boost.Intrusive hooks)
+ //! or the move constructor of value traits, bucket traits, hasher or comparison throws.
hashtable_impl(BOOST_RV_REF(hashtable_impl) x)
: internal_type( ::boost::move(x.priv_value_traits())
, ::boost::move(x.priv_bucket_traits())
@@ -1815,7 +1822,7 @@ class hashtable_impl
x.priv_split_traits().set_size(size_type(0));
}
- //! Effects: to-do
+ //! Effects: Equivalnet to swap.
//!
hashtable_impl& operator=(BOOST_RV_REF(hashtable_impl) x)
{ this->swap(x); return *this; }
diff --git a/include/boost/intrusive/list.hpp b/include/boost/intrusive/list.hpp
index a955c44..71eac5c 100644
--- a/include/boost/intrusive/list.hpp
+++ b/include/boost/intrusive/list.hpp
@@ -215,8 +215,15 @@ class list_impl
this->insert(this->cend(), b, e);
}
- //! Effects: to-do
+ //! Effects: Constructs a container moving resources from another container.
+ //! Internal value traits are move constructed and
+ //! nodes belonging to x (except the node representing the "end") are linked to *this.
//!
+ //! Complexity: Constant.
+ //!
+ //! Throws: If value_traits::node_traits::node's
+ //! move constructor throws (this does not happen with predefined Boost.Intrusive hooks)
+ //! or the move constructor of value traits throws.
list_impl(BOOST_RV_REF(list_impl) x)
: data_(::boost::move(x.priv_value_traits()))
{
@@ -226,7 +233,7 @@ class list_impl
this->swap(x);
}
- //! Effects: to-do
+ //! Effects: Equivalent to swap
//!
list_impl& operator=(BOOST_RV_REF(list_impl) x)
{ this->swap(x); return *this; }
diff --git a/include/boost/intrusive/slist.hpp b/include/boost/intrusive/slist.hpp
index f34350d..1f7ace1 100644
--- a/include/boost/intrusive/slist.hpp
+++ b/include/boost/intrusive/slist.hpp
@@ -338,8 +338,15 @@ class slist_impl
this->insert_after(this->cbefore_begin(), b, e);
}
- //! Effects: to-do
+ //! Effects: Constructs a container moving resources from another container.
+ //! Internal value traits are move constructed and
+ //! nodes belonging to x (except the node representing the "end") are linked to *this.
//!
+ //! Complexity: Constant.
+ //!
+ //! Throws: If value_traits::node_traits::node's
+ //! move constructor throws (this does not happen with predefined Boost.Intrusive hooks)
+ //! or the move constructor of value traits throws.
slist_impl(BOOST_RV_REF(slist_impl) x)
: data_(::boost::move(x.priv_value_traits()))
{
@@ -348,7 +355,7 @@ class slist_impl
this->swap(x);
}
- //! Effects: to-do
+ //! Effects: Equivalent to swap
//!
slist_impl& operator=(BOOST_RV_REF(slist_impl) x)
{ this->swap(x); return *this; }