From 2839598e855736793a07d400fc92712968ccaacf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Sat, 1 Nov 2014 19:59:03 +0100 Subject: [PATCH] get_header_holder_type used internally to shorten symbol length. --- include/boost/intrusive/avl_set.hpp | 24 ++++++++++------------- include/boost/intrusive/avltree.hpp | 14 ++++++------- include/boost/intrusive/bs_set.hpp | 24 ++++++++++------------- include/boost/intrusive/bstree.hpp | 13 ++++++------ include/boost/intrusive/hashtable.hpp | 4 ++-- include/boost/intrusive/list.hpp | 12 +++++------- include/boost/intrusive/rbtree.hpp | 14 ++++++------- include/boost/intrusive/set.hpp | 24 ++++++++++------------- include/boost/intrusive/sg_set.hpp | 24 ++++++++++------------- include/boost/intrusive/sgtree.hpp | 15 ++++++-------- include/boost/intrusive/slist.hpp | 12 ++++++------ include/boost/intrusive/splay_set.hpp | 12 ++++-------- include/boost/intrusive/splaytree.hpp | 14 ++++++------- include/boost/intrusive/treap.hpp | 12 +++++------- include/boost/intrusive/treap_set.hpp | 24 ++++++++++------------- include/boost/intrusive/unordered_set.hpp | 16 +++++++-------- 16 files changed, 110 insertions(+), 148 deletions(-) diff --git a/include/boost/intrusive/avl_set.hpp b/include/boost/intrusive/avl_set.hpp index 58d6108..1bf0057 100644 --- a/include/boost/intrusive/avl_set.hpp +++ b/include/boost/intrusive/avl_set.hpp @@ -96,12 +96,12 @@ class avl_set_impl //! @copydoc ::boost::intrusive::avltree::avltree(avltree &&) avl_set_impl(BOOST_RV_REF(avl_set_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::avltree::operator=(avltree &&) avl_set_impl& operator=(BOOST_RV_REF(avl_set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED @@ -418,15 +418,13 @@ struct make_avl_set typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef avl_set_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -479,11 +477,11 @@ class avl_set {} avl_set(BOOST_RV_REF(avl_set) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} avl_set& operator=(BOOST_RV_REF(avl_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static avl_set &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } @@ -569,12 +567,12 @@ class avl_multiset_impl //! @copydoc ::boost::intrusive::avltree::avltree(avltree &&) avl_multiset_impl(BOOST_RV_REF(avl_multiset_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::avltree::operator=(avltree &&) avl_multiset_impl& operator=(BOOST_RV_REF(avl_multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::avltree::~avltree() @@ -859,15 +857,13 @@ struct make_avl_multiset typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef avl_multiset_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -921,11 +917,11 @@ class avl_multiset {} avl_multiset(BOOST_RV_REF(avl_multiset) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} avl_multiset& operator=(BOOST_RV_REF(avl_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static avl_multiset &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/avltree.hpp b/include/boost/intrusive/avltree.hpp index d2adf24..6200ed3 100644 --- a/include/boost/intrusive/avltree.hpp +++ b/include/boost/intrusive/avltree.hpp @@ -86,7 +86,7 @@ class avltree_impl /// @cond typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType , ConstantTimeSize, AvlTreeAlgorithms - , HeaderHolder> tree_type; + , HeaderHolder> tree_type; typedef tree_type implementation_defined; /// @endcond @@ -140,12 +140,12 @@ class avltree_impl //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) avltree_impl(BOOST_RV_REF(avltree_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) avltree_impl& operator=(BOOST_RV_REF(avltree_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED @@ -455,15 +455,13 @@ struct make_avltree typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef avltree_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -520,11 +518,11 @@ class avltree {} avltree(BOOST_RV_REF(avltree) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} avltree& operator=(BOOST_RV_REF(avltree) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static avltree &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/bs_set.hpp b/include/boost/intrusive/bs_set.hpp index b87a543..c9594ac 100644 --- a/include/boost/intrusive/bs_set.hpp +++ b/include/boost/intrusive/bs_set.hpp @@ -95,12 +95,12 @@ class bs_set_impl //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) bs_set_impl(BOOST_RV_REF(bs_set_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) bs_set_impl& operator=(BOOST_RV_REF(bs_set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::bstree::~bstree() @@ -416,15 +416,13 @@ struct make_bs_set typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef bs_set_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -477,11 +475,11 @@ class bs_set {} bs_set(BOOST_RV_REF(bs_set) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} bs_set& operator=(BOOST_RV_REF(bs_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static bs_set &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } @@ -567,12 +565,12 @@ class bs_multiset_impl //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) bs_multiset_impl(BOOST_RV_REF(bs_multiset_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) bs_multiset_impl& operator=(BOOST_RV_REF(bs_multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::bstree::~bstree() @@ -857,15 +855,13 @@ struct make_bs_multiset typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef bs_multiset_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -919,11 +915,11 @@ class bs_multiset {} bs_multiset(BOOST_RV_REF(bs_multiset) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} bs_multiset& operator=(BOOST_RV_REF(bs_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static bs_multiset &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/bstree.hpp b/include/boost/intrusive/bstree.hpp index 44b02bb..177471d 100644 --- a/include/boost/intrusive/bstree.hpp +++ b/include/boost/intrusive/bstree.hpp @@ -94,7 +94,8 @@ struct bstbase3 typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::reference) reference; typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::reference) const_reference; typedef BOOST_INTRUSIVE_IMPDEF(typename pointer_traits::difference_type) difference_type; - typedef HeaderHolder header_holder_type; + typedef typename detail::get_header_holder_type + < value_traits,HeaderHolder >::type header_holder_type; static const bool safemode_or_autounlink = is_safe_autounlink::value; static const bool stateful_value_traits = detail::is_stateful_value_traits::value; @@ -246,7 +247,7 @@ struct bstbase2 >::type> , public bstbase3 { - typedef bstbase3 treeheader_t; + typedef bstbase3 treeheader_t; typedef typename treeheader_t::value_traits value_traits; typedef typename treeheader_t::node_algorithms node_algorithms; typedef typename get_less @@ -2085,8 +2086,6 @@ struct make_bstree typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef bstree_impl < value_traits @@ -2094,7 +2093,7 @@ struct make_bstree , typename packed_options::size_type , packed_options::constant_time_size , BsTreeAlgorithms - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -2149,11 +2148,11 @@ class bstree {} bstree(BOOST_RV_REF(bstree) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} bstree& operator=(BOOST_RV_REF(bstree) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static bstree &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/hashtable.hpp b/include/boost/intrusive/hashtable.hpp index af73f70..928844f 100644 --- a/include/boost/intrusive/hashtable.hpp +++ b/include/boost/intrusive/hashtable.hpp @@ -3287,11 +3287,11 @@ class hashtable {} hashtable(BOOST_RV_REF(hashtable) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} hashtable& operator=(BOOST_RV_REF(hashtable) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } }; #endif diff --git a/include/boost/intrusive/list.hpp b/include/boost/intrusive/list.hpp index 297267d..17d2faf 100644 --- a/include/boost/intrusive/list.hpp +++ b/include/boost/intrusive/list.hpp @@ -104,7 +104,8 @@ class list_impl typedef typename node_traits::node_ptr node_ptr; typedef typename node_traits::const_node_ptr const_node_ptr; typedef circular_list_algorithms node_algorithms; - typedef HeaderHolder header_holder_type; + typedef typename detail::get_header_holder_type + < value_traits, HeaderHolder >::type header_holder_type; static const bool constant_time_size = ConstantTimeSize; static const bool stateful_value_traits = detail::is_stateful_value_traits::value; @@ -1475,15 +1476,12 @@ struct make_list typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; - typedef list_impl < value_traits, typename packed_options::size_type, packed_options::constant_time_size, - header_holder_type + typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -1533,11 +1531,11 @@ class list {} list(BOOST_RV_REF(list) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} list& operator=(BOOST_RV_REF(list) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static list &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/rbtree.hpp b/include/boost/intrusive/rbtree.hpp index d6e692e..6fbe75a 100644 --- a/include/boost/intrusive/rbtree.hpp +++ b/include/boost/intrusive/rbtree.hpp @@ -86,7 +86,7 @@ class rbtree_impl /// @cond typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType , ConstantTimeSize, RbTreeAlgorithms - , HeaderHolder> tree_type; + , HeaderHolder> tree_type; typedef tree_type implementation_defined; /// @endcond @@ -139,12 +139,12 @@ class rbtree_impl //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) rbtree_impl(BOOST_RV_REF(rbtree_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) rbtree_impl& operator=(BOOST_RV_REF(rbtree_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::bstree::~bstree() @@ -453,15 +453,13 @@ struct make_rbtree typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef rbtree_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -518,11 +516,11 @@ class rbtree {} rbtree(BOOST_RV_REF(rbtree) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} rbtree& operator=(BOOST_RV_REF(rbtree) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static rbtree &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/set.hpp b/include/boost/intrusive/set.hpp index b8366a2..9d9256f 100644 --- a/include/boost/intrusive/set.hpp +++ b/include/boost/intrusive/set.hpp @@ -97,12 +97,12 @@ class set_impl //! @copydoc ::boost::intrusive::rbtree::rbtree(rbtree &&) set_impl(BOOST_RV_REF(set_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::rbtree::operator=(rbtree &&) set_impl& operator=(BOOST_RV_REF(set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::rbtree::~rbtree() @@ -418,15 +418,13 @@ struct make_set typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef set_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -479,11 +477,11 @@ class set {} set(BOOST_RV_REF(set) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} set& operator=(BOOST_RV_REF(set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static set &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } @@ -569,12 +567,12 @@ class multiset_impl //! @copydoc ::boost::intrusive::rbtree::rbtree(rbtree &&) multiset_impl(BOOST_RV_REF(multiset_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::rbtree::operator=(rbtree &&) multiset_impl& operator=(BOOST_RV_REF(multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::rbtree::~rbtree() @@ -859,15 +857,13 @@ struct make_multiset typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef multiset_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -921,11 +917,11 @@ class multiset {} multiset(BOOST_RV_REF(multiset) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} multiset& operator=(BOOST_RV_REF(multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static multiset &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/sg_set.hpp b/include/boost/intrusive/sg_set.hpp index 6c1477a..f122809 100644 --- a/include/boost/intrusive/sg_set.hpp +++ b/include/boost/intrusive/sg_set.hpp @@ -95,12 +95,12 @@ class sg_set_impl //! @copydoc ::boost::intrusive::sgtree::sgtree(sgtree &&) sg_set_impl(BOOST_RV_REF(sg_set_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::sgtree::operator=(sgtree &&) sg_set_impl& operator=(BOOST_RV_REF(sg_set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::sgtree::~sgtree() @@ -429,15 +429,13 @@ struct make_sg_set typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef sg_set_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::floating_point - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -490,11 +488,11 @@ class sg_set {} sg_set(BOOST_RV_REF(sg_set) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} sg_set& operator=(BOOST_RV_REF(sg_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static sg_set &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } @@ -580,12 +578,12 @@ class sg_multiset_impl //! @copydoc ::boost::intrusive::sgtree::sgtree(sgtree &&) sg_multiset_impl(BOOST_RV_REF(sg_multiset_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::sgtree::operator=(sgtree &&) sg_multiset_impl& operator=(BOOST_RV_REF(sg_multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::sgtree::~sgtree() @@ -883,15 +881,13 @@ struct make_sg_multiset typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef sg_multiset_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::floating_point - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -945,11 +941,11 @@ class sg_multiset {} sg_multiset(BOOST_RV_REF(sg_multiset) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} sg_multiset& operator=(BOOST_RV_REF(sg_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static sg_multiset &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/sgtree.hpp b/include/boost/intrusive/sgtree.hpp index 5df70f8..9ab46a7 100644 --- a/include/boost/intrusive/sgtree.hpp +++ b/include/boost/intrusive/sgtree.hpp @@ -105,7 +105,6 @@ struct h_alpha_t // floor(log2(n)/-log2(alpha)) // floor(log2(n)*(1/-log2(alpha))) //////////////////////////////////////////////////////////// - //return static_cast(std::log(float(n))*inv_minus_logalpha_); return static_cast(detail::fast_log2(float(n))*inv_minus_logalpha_); } @@ -233,7 +232,7 @@ class sgtree_impl typedef ValueTraits value_traits; /// @cond typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType - , true, SgTreeAlgorithms, HeaderHolder> tree_type; + , true, SgTreeAlgorithms, HeaderHolder> tree_type; typedef tree_type implementation_defined; /// @endcond @@ -304,14 +303,14 @@ class sgtree_impl //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) sgtree_impl(BOOST_RV_REF(sgtree_impl) x) - : tree_type(::boost::move(static_cast(x))), alpha_traits(x.get_alpha_traits()) + : tree_type(BOOST_MOVE_BASE(tree_type, x)), alpha_traits(x.get_alpha_traits()) { std::swap(this->get_alpha_traits(), x.get_alpha_traits()); } //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) sgtree_impl& operator=(BOOST_RV_REF(sgtree_impl) x) { this->get_alpha_traits() = x.get_alpha_traits(); - return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); + return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } /// @cond @@ -898,15 +897,13 @@ struct make_sgtree typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef sgtree_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::floating_point - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -963,11 +960,11 @@ class sgtree {} sgtree(BOOST_RV_REF(sgtree) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} sgtree& operator=(BOOST_RV_REF(sgtree) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static sgtree &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/slist.hpp b/include/boost/intrusive/slist.hpp index 4698730..21e3e2e 100644 --- a/include/boost/intrusive/slist.hpp +++ b/include/boost/intrusive/slist.hpp @@ -139,7 +139,8 @@ class slist_impl typedef typename node_traits::node node; typedef typename node_traits::node_ptr node_ptr; typedef typename node_traits::const_node_ptr const_node_ptr; - typedef HeaderHolder header_holder_type; + typedef typename detail::get_header_holder_type + < value_traits, HeaderHolder >::type header_holder_type; static const bool constant_time_size = 0 != (BoolFlags & slist_bool_flags::constant_time_size_pos); static const bool stateful_value_traits = detail::is_stateful_value_traits::value; @@ -2184,17 +2185,16 @@ struct make_slist Options... #endif >::type packed_options; + typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef slist_impl < value_traits , typename packed_options::size_type , (std::size_t(packed_options::linear)*slist_bool_flags::linear_pos) |(std::size_t(packed_options::constant_time_size)*slist_bool_flags::constant_time_size_pos) |(std::size_t(packed_options::cache_last)*slist_bool_flags::cache_last_pos) - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -2253,11 +2253,11 @@ class slist {} slist(BOOST_RV_REF(slist) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} slist& operator=(BOOST_RV_REF(slist) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static slist &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/splay_set.hpp b/include/boost/intrusive/splay_set.hpp index cefc792..4262eac 100644 --- a/include/boost/intrusive/splay_set.hpp +++ b/include/boost/intrusive/splay_set.hpp @@ -95,12 +95,12 @@ class splay_set_impl //! @copydoc ::boost::intrusive::splaytree::splaytree(splaytree &&) splay_set_impl(BOOST_RV_REF(splay_set_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::splaytree::operator=(splaytree &&) splay_set_impl& operator=(BOOST_RV_REF(splay_set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::splaytree::~splaytree() @@ -439,15 +439,13 @@ struct make_splay_set typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef splay_set_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -896,15 +894,13 @@ struct make_splay_multiset typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef splay_multiset_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; diff --git a/include/boost/intrusive/splaytree.hpp b/include/boost/intrusive/splaytree.hpp index 6704642..81ba5da 100644 --- a/include/boost/intrusive/splaytree.hpp +++ b/include/boost/intrusive/splaytree.hpp @@ -78,7 +78,7 @@ class splaytree_impl /// @cond typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType , ConstantTimeSize, SplayTreeAlgorithms - , HeaderHolder> tree_type; + , HeaderHolder> tree_type; typedef tree_type implementation_defined; /// @endcond @@ -136,12 +136,12 @@ class splaytree_impl //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) splaytree_impl(BOOST_RV_REF(splaytree_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! @copydoc ::boost::intrusive::bstree::operator=(bstree &&) splaytree_impl& operator=(BOOST_RV_REF(splaytree_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::bstree::~bstree() @@ -533,15 +533,13 @@ struct make_splaytree typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef splaytree_impl < value_traits , typename packed_options::compare , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -598,11 +596,11 @@ class splaytree {} splaytree(BOOST_RV_REF(splaytree) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} splaytree& operator=(BOOST_RV_REF(splaytree) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static splaytree &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/treap.hpp b/include/boost/intrusive/treap.hpp index b3afb86..7ef4bf8 100644 --- a/include/boost/intrusive/treap.hpp +++ b/include/boost/intrusive/treap.hpp @@ -90,7 +90,7 @@ class treap_impl /// @cond typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType , ConstantTimeSize, BsTreeAlgorithms - , HeaderHolder> tree_type; + , HeaderHolder> tree_type; typedef tree_type implementation_defined; typedef get_prio < VoidOrPrioComp @@ -184,7 +184,7 @@ class treap_impl //! @copydoc ::boost::intrusive::bstree::bstree(bstree &&) treap_impl(BOOST_RV_REF(treap_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) , prio_base(::boost::move(x.priv_pcomp())) {} @@ -1096,8 +1096,6 @@ struct make_treap typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef treap_impl < value_traits @@ -1105,7 +1103,7 @@ struct make_treap , typename packed_options::priority , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -1164,11 +1162,11 @@ class treap {} treap(BOOST_RV_REF(treap) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} treap& operator=(BOOST_RV_REF(treap) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static treap &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/treap_set.hpp b/include/boost/intrusive/treap_set.hpp index ef68b05..d735c8e 100644 --- a/include/boost/intrusive/treap_set.hpp +++ b/include/boost/intrusive/treap_set.hpp @@ -117,13 +117,13 @@ class treap_set_impl //! Effects: to-do //! treap_set_impl(BOOST_RV_REF(treap_set_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! Effects: to-do //! treap_set_impl& operator=(BOOST_RV_REF(treap_set_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::treap::~treap() @@ -443,8 +443,6 @@ struct make_treap_set typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef treap_set_impl < value_traits @@ -452,7 +450,7 @@ struct make_treap_set , typename packed_options::priority , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -509,11 +507,11 @@ class treap_set {} treap_set(BOOST_RV_REF(treap_set) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} treap_set& operator=(BOOST_RV_REF(treap_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static treap_set &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } @@ -620,13 +618,13 @@ class treap_multiset_impl //! Effects: to-do //! treap_multiset_impl(BOOST_RV_REF(treap_multiset_impl) x) - : tree_type(::boost::move(static_cast(x))) + : tree_type(BOOST_MOVE_BASE(tree_type, x)) {} //! Effects: to-do //! treap_multiset_impl& operator=(BOOST_RV_REF(treap_multiset_impl) x) - { return static_cast(tree_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! @copydoc ::boost::intrusive::treap::~treap() @@ -913,8 +911,6 @@ struct make_treap_multiset typedef typename detail::get_value_traits ::type value_traits; - typedef typename detail::get_header_holder_type - < value_traits, typename packed_options::header_holder_type >::type header_holder_type; typedef treap_multiset_impl < value_traits @@ -922,7 +918,7 @@ struct make_treap_multiset , typename packed_options::priority , typename packed_options::size_type , packed_options::constant_time_size - , header_holder_type + , typename packed_options::header_holder_type > implementation_defined; /// @endcond typedef implementation_defined type; @@ -979,11 +975,11 @@ class treap_multiset {} treap_multiset(BOOST_RV_REF(treap_multiset) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} treap_multiset& operator=(BOOST_RV_REF(treap_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } static treap_multiset &container_from_end_iterator(iterator end_iterator) { return static_cast(Base::container_from_end_iterator(end_iterator)); } diff --git a/include/boost/intrusive/unordered_set.hpp b/include/boost/intrusive/unordered_set.hpp index e47f3ba..7866fbd 100644 --- a/include/boost/intrusive/unordered_set.hpp +++ b/include/boost/intrusive/unordered_set.hpp @@ -156,13 +156,13 @@ class unordered_set_impl //! Effects: to-do //! unordered_set_impl(BOOST_RV_REF(unordered_set_impl) x) - : table_type(::boost::move(static_cast(x))) + : table_type(BOOST_MOVE_BASE(table_type, x)) {} //! Effects: to-do //! unordered_set_impl& operator=(BOOST_RV_REF(unordered_set_impl) x) - { return static_cast(table_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(table_type::operator=(BOOST_MOVE_BASE(table_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED //! Effects: Detaches all elements from this. The objects in the unordered_set @@ -1110,11 +1110,11 @@ class unordered_set {} unordered_set(BOOST_RV_REF(unordered_set) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} unordered_set& operator=(BOOST_RV_REF(unordered_set) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } }; #endif @@ -1249,13 +1249,13 @@ class unordered_multiset_impl //! Effects: to-do //! unordered_multiset_impl(BOOST_RV_REF(unordered_multiset_impl) x) - : table_type(::boost::move(static_cast(x))) + : table_type(BOOST_MOVE_BASE(table_type, x)) {} //! Effects: to-do //! unordered_multiset_impl& operator=(BOOST_RV_REF(unordered_multiset_impl) x) - { return static_cast(table_type::operator=(::boost::move(static_cast(x)))); } + { return static_cast(table_type::operator=(BOOST_MOVE_BASE(table_type, x))); } #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED @@ -2146,11 +2146,11 @@ class unordered_multiset {} unordered_multiset(BOOST_RV_REF(unordered_multiset) x) - : Base(::boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) {} unordered_multiset& operator=(BOOST_RV_REF(unordered_multiset) x) - { return static_cast(this->Base::operator=(::boost::move(static_cast(x)))); } + { return static_cast(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); } }; #endif