$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: gordon_at_[hidden]
Date: 2008-08-25 13:42:29
Author: gordon.woodhull
Date: 2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
New Revision: 48382
URL: http://svn.boost.org/trac/boost/changeset/48382
Log:
merging in fusion/intrusive changes from trunk
Added:
   sandbox/metagraph/boost/fusion/include/at_c.hpp
      - copied unchanged from r48381, /trunk/boost/fusion/include/at_c.hpp
   sandbox/metagraph/boost/fusion/sequence/intrinsic/at_c.hpp
      - copied unchanged from r48381, /trunk/boost/fusion/sequence/intrinsic/at_c.hpp
   sandbox/metagraph/boost/fusion/tuple/detail/tuple_expand.hpp
      - copied unchanged from r48381, /trunk/boost/fusion/tuple/detail/tuple_expand.hpp
Removed:
   sandbox/metagraph/boost/fusion/tuple/detail/tuple_forward_ctor.hpp
   sandbox/metagraph/boost/intrusive/detail/parent_from_member.hpp
Text files modified: 
   sandbox/metagraph/boost/fusion/container/list/detail/at_impl.hpp                |    85 ++++++++++++++++++++++++++++++++------- 
   sandbox/metagraph/boost/fusion/functional/invocation/invoke.hpp                 |    28 ++++++------                            
   sandbox/metagraph/boost/fusion/functional/invocation/invoke_function_object.hpp |    24 +++++-----                              
   sandbox/metagraph/boost/fusion/functional/invocation/invoke_procedure.hpp       |    12 ++--                                    
   sandbox/metagraph/boost/fusion/tuple/tuple.hpp                                  |    38 ++++++++++++-----                       
   sandbox/metagraph/boost/intrusive/detail/any_node_and_algorithms.hpp            |    23 ++++------                              
   sandbox/metagraph/boost/intrusive/detail/common_slist_algorithms.hpp            |     2                                         
   sandbox/metagraph/boost/intrusive/detail/utilities.hpp                          |     2                                         
   sandbox/metagraph/boost/intrusive/member_value_traits.hpp                       |     2                                         
   9 files changed, 140 insertions(+), 76 deletions(-)
Modified: sandbox/metagraph/boost/fusion/container/list/detail/at_impl.hpp
==============================================================================
--- sandbox/metagraph/boost/fusion/container/list/detail/at_impl.hpp	(original)
+++ sandbox/metagraph/boost/fusion/container/list/detail/at_impl.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
@@ -1,7 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
 
-    Distributed under the Boost Software License, Version 1.0. (See accompanying 
+    Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 #if !defined(FUSION_AT_IMPL_07172005_0726)
@@ -15,6 +15,71 @@
 
 namespace boost { namespace fusion
 {
+    namespace detail
+    {
+        template <typename Cons>
+        struct cons_deref
+        {
+            typedef typename Cons::car_type type;
+        };
+
+        template <typename Cons, int I>
+        struct cons_advance
+        {
+            typedef typename
+                cons_advance<Cons, I-1>::type::cdr_type
+            type;
+        };
+
+        template <typename Cons>
+        struct cons_advance<Cons, 0>
+        {
+            typedef Cons type;
+        };
+
+        template <typename Cons>
+        struct cons_advance<Cons, 1>
+        {
+            typedef typename Cons::cdr_type type;
+        };
+
+        template <typename Cons>
+        struct cons_advance<Cons, 2>
+        {
+#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above
+            typedef typename Cons::cdr_type::cdr_type type;
+#else
+            typedef typename Cons::cdr_type _a;
+            typedef typename _a::cdr_type type;
+#endif
+        };
+
+        template <typename Cons>
+        struct cons_advance<Cons, 3>
+        {
+#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above
+            typedef typename Cons::cdr_type::cdr_type::cdr_type type;
+#else
+            typedef typename Cons::cdr_type _a;
+            typedef typename _a::cdr_type _b;
+            typedef typename _b::cdr_type type;
+#endif
+        };
+
+        template <typename Cons>
+        struct cons_advance<Cons, 4>
+        {
+#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above
+            typedef typename Cons::cdr_type::cdr_type::cdr_type::cdr_type type;
+#else
+            typedef typename Cons::cdr_type _a;
+            typedef typename _a::cdr_type _b;
+            typedef typename _b::cdr_type _c;
+            typedef typename _c::cdr_type type;
+#endif
+        };
+    }
+
     struct cons_tag;
 
     namespace extension
@@ -26,22 +91,10 @@
         struct at_impl<cons_tag>
         {
             template <typename Sequence, typename N>
-            struct apply 
+            struct apply
             {
-                typedef typename
-                    mpl::eval_if<
-                        is_const<Sequence>
-                      , add_const<typename Sequence::cdr_type>
-                      , mpl::identity<typename Sequence::cdr_type>
-                    >::type
-                cdr_type;
-
-                typedef typename 
-                    mpl::eval_if<
-                        mpl::bool_<N::value == 0>
-                      , mpl::identity<typename Sequence::car_type>
-                      , apply<cdr_type, mpl::int_<N::value-1> >
-                    >
+                typedef detail::cons_deref<
+                    typename detail::cons_advance<Sequence, N::value>::type>
                 element;
 
                 typedef typename
Modified: sandbox/metagraph/boost/fusion/functional/invocation/invoke.hpp
==============================================================================
--- sandbox/metagraph/boost/fusion/functional/invocation/invoke.hpp	(original)
+++ sandbox/metagraph/boost/fusion/functional/invocation/invoke.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
@@ -1,8 +1,8 @@
 /*=============================================================================
-    Copyright (c) 2005-2006 João Abecasis
+    Copyright (c) 2005-2006 Joao Abecasis
     Copyright (c) 2006-2007 Tobias Schwinger
-  
-    Use modification and distribution are subject to the Boost Software 
+
+    Use modification and distribution are subject to the Boost Software
     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
     http://www.boost.org/LICENSE_1_0.txt).
 ==============================================================================*/
@@ -71,21 +71,21 @@
     {
         namespace ft = function_types;
 
-        template< 
-            typename Function, class Sequence, 
+        template<
+            typename Function, class Sequence,
             int N = result_of::size<Sequence>::value,
             bool CBI = ft::is_callable_builtin<Function>::value,
             bool RandomAccess = traits::is_random_access<Sequence>::value
             >
         struct invoke_impl;
 
-        template <class Sequence, int N> 
+        template <class Sequence, int N>
         struct invoke_param_types;
 
         template <typename T, class Sequence>
         struct invoke_data_member;
 
-        template <typename Function, class Sequence, int N, bool RandomAccess> 
+        template <typename Function, class Sequence, int N, bool RandomAccess>
         struct invoke_mem_fn;
 
         #define  BOOST_PP_FILENAME_1 <boost/fusion/functional/invocation/invoke.hpp>
@@ -116,7 +116,7 @@
                     invoke_mem_fn<Function,Sequence,1,RandomAccess>,
                     invoke_data_member<Function, Sequence> >,
                 mpl::identity< invoke_nonmember_builtin<
-                    Function,Sequence,1,RandomAccess> > 
+                    Function,Sequence,1,RandomAccess> >
             >::type
         { };
 
@@ -139,7 +139,7 @@
 
         public:
 
-            typedef typename boost::add_reference<qualified_type>::type 
+            typedef typename boost::add_reference<qualified_type>::type
                 result_type;
 
             static inline result_type call(T C::* f, Sequence & s)
@@ -154,10 +154,10 @@
     {
         template <typename Function, class Sequence> struct invoke
         {
-            typedef typename detail::invoke_impl< 
+            typedef typename detail::invoke_impl<
                 typename boost::remove_reference<Function>::type, Sequence
               >::result_type type;
-        }; 
+        };
     }
 
     template <typename Function, class Sequence>
@@ -242,7 +242,7 @@
         public:
 
             typedef typename boost::result_of<
-                Function(BOOST_PP_ENUM_PARAMS(N,typename seq::T)) 
+                Function(BOOST_PP_ENUM_PARAMS(N,typename seq::T))
                 >::type result_type;
 
             template <typename F>
@@ -274,7 +274,7 @@
                 typename seq::I0 i0 = fusion::begin(s);
                 BOOST_PP_REPEAT_FROM_TO(1,N,M,~)
 
-                return (that_ptr< typename mpl::front< 
+                return (that_ptr< typename mpl::front<
                                       ft::parameter_types<Function> >::type
                     >::get(*i0)->*f)(BOOST_PP_ENUM_SHIFTED_PARAMS(N,*i));
             }
@@ -302,5 +302,5 @@
 
 #undef N
 #endif // defined(BOOST_PP_IS_ITERATING)
-#endif 
+#endif
 
Modified: sandbox/metagraph/boost/fusion/functional/invocation/invoke_function_object.hpp
==============================================================================
--- sandbox/metagraph/boost/fusion/functional/invocation/invoke_function_object.hpp	(original)
+++ sandbox/metagraph/boost/fusion/functional/invocation/invoke_function_object.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
@@ -1,8 +1,8 @@
 /*=============================================================================
-    Copyright (c) 2005-2006 João Abecasis
+    Copyright (c) 2005-2006 Joao Abecasis
     Copyright (c) 2006-2007 Tobias Schwinger
-  
-    Use modification and distribution are subject to the Boost Software 
+
+    Use modification and distribution are subject to the Boost Software
     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
     http://www.boost.org/LICENSE_1_0.txt).
 ==============================================================================*/
@@ -51,14 +51,14 @@
 
     namespace detail
     {
-        template< 
-            class Function, class Sequence, 
+        template<
+            class Function, class Sequence,
             int N = result_of::size<Sequence>::value,
-            bool RandomAccess = traits::is_random_access<Sequence>::value 
+            bool RandomAccess = traits::is_random_access<Sequence>::value
             >
         struct invoke_function_object_impl;
 
-        template <class Sequence, int N> 
+        template <class Sequence, int N>
         struct invoke_function_object_param_types;
 
         #define  BOOST_PP_FILENAME_1 \
@@ -72,10 +72,10 @@
     {
         template <class Function, class Sequence> struct invoke_function_object
         {
-            typedef typename detail::invoke_function_object_impl< 
+            typedef typename detail::invoke_function_object_impl<
                 typename boost::remove_reference<Function>::type, Sequence
                 >::result_type type;
-        }; 
+        };
     }
 
     template <class Function, class Sequence>
@@ -114,7 +114,7 @@
 
             typedef typename boost::result_of<
 #define M(z,j,data)                                                             \
-        typename result_of::at_c<Sequence,j>::type 
+        typename result_of::at_c<Sequence,j>::type
                 Function (BOOST_PP_ENUM(N,M,~)) >::type result_type;
 #undef M
 
@@ -154,7 +154,7 @@
             }
         };
 
-        template <class Sequence> 
+        template <class Sequence>
         struct invoke_function_object_param_types<Sequence,N>
         {
 #if N > 0
@@ -173,5 +173,5 @@
 
 #undef N
 #endif // defined(BOOST_PP_IS_ITERATING)
-#endif 
+#endif
 
Modified: sandbox/metagraph/boost/fusion/functional/invocation/invoke_procedure.hpp
==============================================================================
--- sandbox/metagraph/boost/fusion/functional/invocation/invoke_procedure.hpp	(original)
+++ sandbox/metagraph/boost/fusion/functional/invocation/invoke_procedure.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
@@ -1,8 +1,8 @@
 /*=============================================================================
-    Copyright (c) 2005-2006 João Abecasis
+    Copyright (c) 2005-2006 Joao Abecasis
     Copyright (c) 2006-2007 Tobias Schwinger
-  
-    Use modification and distribution are subject to the Boost Software 
+
+    Use modification and distribution are subject to the Boost Software
     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
     http://www.boost.org/LICENSE_1_0.txt).
 ==============================================================================*/
@@ -58,8 +58,8 @@
     {
         namespace ft = function_types;
 
-        template< 
-            typename Function, class Sequence, 
+        template<
+            typename Function, class Sequence,
             int N = result_of::size<Sequence>::value,
             bool MFP = ft::is_member_function_pointer<Function>::value,
             bool RandomAccess = traits::is_random_access<Sequence>::value
@@ -167,5 +167,5 @@
 
 #undef N
 #endif // defined(BOOST_PP_IS_ITERATING)
-#endif 
+#endif
 
Deleted: sandbox/metagraph/boost/fusion/tuple/detail/tuple_forward_ctor.hpp
==============================================================================
--- sandbox/metagraph/boost/fusion/tuple/detail/tuple_forward_ctor.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
+++ (empty file)
@@ -1,39 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2006 Joel de Guzman
-
-    Distributed under the Boost Software License, Version 1.0. (See accompanying 
-    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#ifndef BOOST_PP_IS_ITERATING
-#if !defined(FUSION_TUPLE_FORWARD_CTOR_10032005_0815)
-#define FUSION_TUPLE_FORWARD_CTOR_10032005_0815
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-
-#define BOOST_PP_FILENAME_1 \
-    <boost/fusion/tuple/detail/tuple_forward_ctor.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
-#include BOOST_PP_ITERATE()
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
-#if N == 1
-    explicit
-#endif
-    tuple(BOOST_PP_ENUM_BINARY_PARAMS(
-        N, typename detail::call_param<T, >::type _))
-        : base_type(BOOST_PP_ENUM_PARAMS(N, _)) {}
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
-
Modified: sandbox/metagraph/boost/fusion/tuple/tuple.hpp
==============================================================================
--- sandbox/metagraph/boost/fusion/tuple/tuple.hpp	(original)
+++ sandbox/metagraph/boost/fusion/tuple/tuple.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
@@ -1,7 +1,7 @@
 /*=============================================================================
     Copyright (c) 2005 Joel de Guzman
 
-    Distributed under the Boost Software License, Version 1.0. (See accompanying 
+    Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 #if !defined(FUSION_TUPLE_10032005_0810)
@@ -16,6 +16,7 @@
 #include <boost/fusion/sequence/io.hpp>
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/is_const.hpp>
+#include <utility>
 
 namespace boost { namespace fusion
 {
@@ -23,35 +24,50 @@
     struct tuple : vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>
     {
         typedef vector<
-            BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)> 
+            BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>
         base_type;
 
         tuple()
             : base_type() {}
-        
-        template <typename Sequence>
-        tuple(Sequence const& rhs)
+
+        tuple(tuple const& rhs)
+            : base_type(rhs) {}
+
+        template <typename U1, typename U2>
+        tuple(std::pair<U1, U2> const& rhs)
             : base_type(rhs) {}
 
-        #include <boost/fusion/tuple/detail/tuple_forward_ctor.hpp>
+        #include <boost/fusion/tuple/detail/tuple_expand.hpp>
 
         template <typename T>
-        tuple&
-        operator=(T const& rhs)
+        tuple& operator=(T const& rhs)
+        {
+            base_type::operator=(rhs);
+            return *this;
+        }
+
+        tuple& operator=(tuple const& rhs)
+        {
+            base_type::operator=(rhs);
+            return *this;
+        }
+
+        template <typename U1, typename U2>
+        tuple& operator=(std::pair<U1, U2> const& rhs)
         {
             base_type::operator=(rhs);
             return *this;
         }
     };
 
-    template <typename Tuple> 
+    template <typename Tuple>
     struct tuple_size : result_of::size<Tuple> {};
 
-    template <int N, typename Tuple> 
+    template <int N, typename Tuple>
     struct tuple_element : result_of::value_at_c<Tuple, N> {};
 
     template <int N, typename Tuple>
-    inline typename 
+    inline typename
         lazy_disable_if<
             is_const<Tuple>
           , result_of::at_c<Tuple, N>
Modified: sandbox/metagraph/boost/intrusive/detail/any_node_and_algorithms.hpp
==============================================================================
--- sandbox/metagraph/boost/intrusive/detail/any_node_and_algorithms.hpp	(original)
+++ sandbox/metagraph/boost/intrusive/detail/any_node_and_algorithms.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
@@ -18,6 +18,7 @@
 #include <boost/intrusive/detail/assert.hpp>
 #include <boost/intrusive/detail/pointer_to_other.hpp>
 #include <cstddef>
+#include <boost/intrusive/detail/mpl.hpp> 
 
 namespace boost {
 namespace intrusive {
@@ -238,6 +239,10 @@
 template<class VoidPointer>
 class any_algorithms
 {
+   template <class T>
+   static void function_not_available_for_any_hooks(typename detail::enable_if<detail::is_same<T, bool> >::type)
+   {}
+
    public:
    typedef any_node<VoidPointer>             node;
    typedef typename boost::pointer_to_other
@@ -269,28 +274,18 @@
    static bool unique(const_node_ptr node)
    {  return 0 == node->node_ptr_1; }
 
-
-#if defined(__EDG__) && defined(__STD_STRICT_ANSI)
-   // For compilers checking the full source code at compile time, regardless
-   // of whether the code is instantiated or not, we turn the compile error
-   // below into a link error.
-   static void unlink(node_ptr);
-   static void swap_nodes(node_ptr l, node_ptr r);
-#else
    static void unlink(node_ptr)
    {
-      //Auto-unlink hooks and unlink() call for safe hooks are not
-      //available for any hooks!!!
-      any_algorithms<VoidPointer>::unlink_not_available_for_any_hooks();
+      //Auto-unlink hooks and unlink() are not available for any hooks
+      any_algorithms<VoidPointer>::template function_not_available_for_any_hooks<node_ptr>();
    }
 
    static void swap_nodes(node_ptr l, node_ptr r)
    {
       //Any nodes have no swap_nodes capability because they don't know
-      //what algorithm they must use from unlink them from the container
-      any_algorithms<VoidPointer>::swap_nodes_not_available_for_any_hooks();
+      //what algorithm they must use to unlink the node from the container
+      any_algorithms<VoidPointer>::template function_not_available_for_any_hooks<node_ptr>();
    }
-#endif
 };
 
 } //namespace intrusive 
Modified: sandbox/metagraph/boost/intrusive/detail/common_slist_algorithms.hpp
==============================================================================
--- sandbox/metagraph/boost/intrusive/detail/common_slist_algorithms.hpp	(original)
+++ sandbox/metagraph/boost/intrusive/detail/common_slist_algorithms.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
@@ -76,7 +76,7 @@
 
    static void transfer_after(node_ptr p, node_ptr b, node_ptr e)
    {
-      if (p != b && p != e) {
+      if (p != b && p != e && b != e) {
          node_ptr next_b = NodeTraits::get_next(b);
          node_ptr next_e = NodeTraits::get_next(e);
          node_ptr next_p = NodeTraits::get_next(p);
Deleted: sandbox/metagraph/boost/intrusive/detail/parent_from_member.hpp
==============================================================================
--- sandbox/metagraph/boost/intrusive/detail/parent_from_member.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
+++ (empty file)
@@ -1,70 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga  2007
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/intrusive for documentation.
-//
-/////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_INTRUSIVE_PARENT_FROM_MEMBER_HPP
-#define BOOST_INTRUSIVE_PARENT_FROM_MEMBER_HPP
-
-#include <boost/intrusive/detail/config_begin.hpp>
-#include <cstddef>
-
-#if defined(BOOST_MSVC) || (defined (BOOST_WINDOWS) && defined(BOOST_INTEL))
-#define BOOST_INTRUSIVE_MSVC_COMPLIANT_PTR_TO_MEMBER
-#include <boost/cstdint.hpp>
-#endif
-
-namespace boost {
-namespace intrusive {
-namespace detail {
-
-template<class Parent, class Member>
-inline std::ptrdiff_t offset_from_pointer_to_member(const Member Parent::* ptr_to_member)
-{
-   //The implementation of a pointer to member is compiler dependent.
-   #if defined(BOOST_INTRUSIVE_MSVC_COMPLIANT_PTR_TO_MEMBER)
-   //msvc compliant compilers use their the first 32 bits as offset (even in 64 bit mode)
-   return *(const boost::int32_t*)(void*)&ptr_to_member;
-   //This works with gcc, msvc, ac++, ibmcpp
-   #elif defined(__GNUC__)   || defined(__HP_aCC) || defined(BOOST_INTEL) || \
-         defined(__IBMCPP__) || defined(__DECCXX)
-   const Parent * const parent = 0;
-   const char *const member = reinterpret_cast<const char*>(&(parent->*ptr_to_member));
-   return std::ptrdiff_t(member - reinterpret_cast<const char*>(parent));
-   #else
-   //This is the traditional C-front approach: __MWERKS__, __DMC__, __SUNPRO_CC
-   return (*(const std::ptrdiff_t*)(void*)&ptr_to_member) - 1;
-   #endif
-}
-
-template<class Parent, class Member>
-inline Parent *parent_from_member(Member *member, const Member Parent::* ptr_to_member)
-{
-   return (Parent*)((char*)member - 
-      offset_from_pointer_to_member(ptr_to_member));
-}
-
-template<class Parent, class Member>
-inline const Parent *parent_from_member(const Member *member, const Member Parent::* ptr_to_member)
-{
-   return (const Parent*)((const char*)member - 
-      offset_from_pointer_to_member(ptr_to_member));
-}
-
-}  //namespace detail {
-}  //namespace intrusive {
-}  //namespace boost {
-
-#ifdef BOOST_INTRUSIVE_MSVC_COMPLIANT_PTR_TO_MEMBER
-#undef BOOST_INTRUSIVE_MSVC_COMPLIANT_PTR_TO_MEMBER
-#endif
-
-#include <boost/intrusive/detail/config_end.hpp>
-
-#endif   //#ifndef BOOST_INTRUSIVE_PARENT_FROM_MEMBER_HPP
Modified: sandbox/metagraph/boost/intrusive/detail/utilities.hpp
==============================================================================
--- sandbox/metagraph/boost/intrusive/detail/utilities.hpp	(original)
+++ sandbox/metagraph/boost/intrusive/detail/utilities.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
@@ -15,7 +15,7 @@
 
 #include <boost/intrusive/detail/config_begin.hpp>
 #include <boost/intrusive/detail/pointer_to_other.hpp>
-#include <boost/intrusive/detail/parent_from_member.hpp>
+#include <boost/detail/parent_from_member.hpp>
 #include <boost/intrusive/detail/ebo_functor_holder.hpp>
 #include <boost/intrusive/link_mode.hpp>
 #include <boost/intrusive/detail/mpl.hpp>
Modified: sandbox/metagraph/boost/intrusive/member_value_traits.hpp
==============================================================================
--- sandbox/metagraph/boost/intrusive/member_value_traits.hpp	(original)
+++ sandbox/metagraph/boost/intrusive/member_value_traits.hpp	2008-08-25 13:42:28 EDT (Mon, 25 Aug 2008)
@@ -15,7 +15,7 @@
 
 #include <boost/intrusive/link_mode.hpp>
 #include <iterator>
-#include <boost/intrusive/detail/parent_from_member.hpp>
+#include <boost/detail/parent_from_member.hpp>
 
 namespace boost {
 namespace intrusive {