Mercurial > hg > vamp-build-and-test
diff DEPENDENCIES/generic/include/boost/intrusive/detail/rbtree_node.hpp @ 101:c530137014c0
Update Boost headers (1.58.0)
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:12:49 +0100 |
parents | 2665513ce2d3 |
children |
line wrap: on
line diff
--- a/DEPENDENCIES/generic/include/boost/intrusive/detail/rbtree_node.hpp Fri Sep 04 12:01:02 2015 +0100 +++ b/DEPENDENCIES/generic/include/boost/intrusive/detail/rbtree_node.hpp Mon Sep 07 11:12:49 2015 +0100 @@ -14,13 +14,19 @@ #ifndef BOOST_INTRUSIVE_RBTREE_NODE_HPP #define BOOST_INTRUSIVE_RBTREE_NODE_HPP +#ifndef BOOST_CONFIG_HPP +# include <boost/config.hpp> +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include <boost/intrusive/detail/config_begin.hpp> -#include <iterator> -#include <boost/intrusive/pointer_traits.hpp> +#include <boost/intrusive/pointer_rebind.hpp> #include <boost/intrusive/rbtree_algorithms.hpp> #include <boost/intrusive/pointer_plus_bits.hpp> #include <boost/intrusive/detail/mpl.hpp> -#include <boost/intrusive/detail/utilities.hpp> #include <boost/intrusive/detail/tree_node.hpp> namespace boost { @@ -36,9 +42,9 @@ template<class VoidPointer> struct compact_rbtree_node { - typedef typename pointer_traits - <VoidPointer>::template rebind_pointer - <compact_rbtree_node<VoidPointer> >::type node_ptr; + typedef compact_rbtree_node<VoidPointer> node; + typedef typename pointer_rebind<VoidPointer, node >::type node_ptr; + typedef typename pointer_rebind<VoidPointer, const node >::type const_node_ptr; enum color { red_t, black_t }; node_ptr parent_, left_, right_; }; @@ -47,9 +53,9 @@ template<class VoidPointer> struct rbtree_node { - typedef typename pointer_traits - <VoidPointer>::template rebind_pointer - <rbtree_node<VoidPointer> >::type node_ptr; + typedef rbtree_node<VoidPointer> node; + typedef typename pointer_rebind<VoidPointer, node >::type node_ptr; + typedef typename pointer_rebind<VoidPointer, const node >::type const_node_ptr; enum color { red_t, black_t }; node_ptr parent_, left_, right_; @@ -62,11 +68,8 @@ struct default_rbtree_node_traits_impl { typedef rbtree_node<VoidPointer> node; - - typedef typename pointer_traits - <VoidPointer>::template rebind_pointer<node>::type node_ptr; - typedef typename pointer_traits - <VoidPointer>::template rebind_pointer<const node>::type const_node_ptr; + typedef typename node::node_ptr node_ptr; + typedef typename node::const_node_ptr const_node_ptr; typedef typename node::color color; @@ -119,10 +122,8 @@ struct compact_rbtree_node_traits_impl { typedef compact_rbtree_node<VoidPointer> node; - typedef typename pointer_traits - <VoidPointer>::template rebind_pointer<node>::type node_ptr; - typedef typename pointer_traits - <VoidPointer>::template rebind_pointer<const node>::type const_node_ptr; + typedef typename node::node_ptr node_ptr; + typedef typename node::const_node_ptr const_node_ptr; typedef pointer_plus_bits<node_ptr, 1> ptr_bit; @@ -182,7 +183,7 @@ : public compact_rbtree_node_traits_impl<VoidPointer> {}; -//Inherit from the detail::link_dispatch depending on the embedding capabilities +//Inherit from rbtree_node_traits_dispatch depending on the embedding capabilities template<class VoidPointer, bool OptimizeSize = false> struct rbtree_node_traits : public rbtree_node_traits_dispatch