Update of /cvsroot/boost/boost/boost/intrusive/detail
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31087/detail

Modified Files:
        config_begin.hpp hashtable_node.hpp list_node.hpp 
        parent_from_member.hpp rbtree_node.hpp slist_node.hpp 
        utilities.hpp 
Log Message:
no message

Index: config_begin.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/intrusive/detail/config_begin.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- config_begin.hpp    12 May 2007 12:52:32 -0000      1.2
+++ config_begin.hpp    23 Jun 2007 12:55:23 -0000      1.3
@@ -9,9 +9,18 @@
 // See http://www.boost.org/libs/intrusive for documentation.
 //
 /////////////////////////////////////////////////////////////////////////////
+
+#ifndef BOOST_INTRUSIVE_SELECT_COMPILER_INCLUDED
+#ifndef BOOST_COMPILER_CONFIG
+//#include <boost/config/select_compiler_config.hpp>
+//#include BOOST_COMPILER_CONFIG
 #include <boost/config.hpp>
+#endif
+#define BOOST_INTRUSIVE_SELECT_COMPILER_INCLUDED
+#endif
 
 #ifdef BOOST_MSVC
+
    #pragma warning (push)
    //
    //'function' : resolved overload was found by argument-dependent lookup

Index: hashtable_node.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/intrusive/detail/hashtable_node.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- hashtable_node.hpp  23 May 2007 16:07:03 -0000      1.3
+++ hashtable_node.hpp  23 Jun 2007 12:55:23 -0000      1.4
@@ -15,7 +15,7 @@
 
 #include <boost/intrusive/detail/config_begin.hpp>
 #include <iterator>
-#include <boost/assert.hpp>
+#include <boost/intrusive/detail/assert.hpp>
 #include <boost/intrusive/detail/pointer_to_other.hpp>
 #include <boost/intrusive/circular_list_algorithms.hpp>
 #ifdef BOOST_INTRUSIVE_USE_ITERATOR_FACADE
@@ -25,6 +25,7 @@
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/is_convertible.hpp>
 #endif
+#include <boost/intrusive/detail/mpl.hpp>
 #include <cstddef>
 
 namespace boost {
@@ -261,9 +262,7 @@
    #else
    template <class OtherValue>
    hashtable_iterator(hashtable_iterator<OtherValue, SlistImpl> const& other,
-                     typename enable_if<
-                           is_convertible<OtherValue*,T*>
-                     >::type* = 0)
+                     typename enable_if<is_convertible<OtherValue*, T*> 
>::type* = 0)
       :  local_it_(other.local_it_), bucket_info_(other.bucket_info_)
    {}
    #endif

Index: list_node.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/intrusive/detail/list_node.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- list_node.hpp       23 May 2007 16:07:03 -0000      1.3
+++ list_node.hpp       23 Jun 2007 12:55:23 -0000      1.4
@@ -16,7 +16,7 @@
 
 #include <boost/intrusive/detail/config_begin.hpp>
 #include <iterator>
-#include <boost/assert.hpp>
+#include <boost/intrusive/detail/assert.hpp>
 #include <boost/intrusive/detail/pointer_to_other.hpp>
 #include <boost/intrusive/circular_list_algorithms.hpp>
 #ifdef BOOST_INTRUSIVE_USE_ITERATOR_FACADE

Index: parent_from_member.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/intrusive/detail/parent_from_member.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- parent_from_member.hpp      12 Jun 2007 17:03:20 -0000      1.4
+++ parent_from_member.hpp      23 Jun 2007 12:55:23 -0000      1.5
@@ -13,7 +13,7 @@
 #define BOOST_INTRUSIVE_PARENT_FROM_MEMBER_HPP
 
 #include <boost/intrusive/detail/config_begin.hpp>
-
+#include <cstddef>
 namespace boost {
 namespace intrusive {
 namespace detail {
@@ -22,8 +22,7 @@
 std::size_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_MSVC)  || defined(__GNUC__) || \
-       defined(BOOST_INTEL) || defined(__HP_aCC)
+   #if (defined(_MSC_VER)  || defined(__GNUC__) || defined(BOOST_INTEL) || 
defined(__HP_aCC))
    //This works with gcc, msvc, ac++
    return *(const std::size_t*)(const void*)&ptr_to_member;
    #else

Index: rbtree_node.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/intrusive/detail/rbtree_node.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- rbtree_node.hpp     12 Jun 2007 17:03:20 -0000      1.4
+++ rbtree_node.hpp     23 Jun 2007 12:55:23 -0000      1.5
@@ -26,11 +26,10 @@
 #include <boost/type_traits/is_convertible.hpp>
 #endif
 #include <boost/intrusive/pointer_plus_bit.hpp>
-#include <boost/type_traits/alignment_of.hpp>
+#include <boost/intrusive/detail/mpl.hpp>
 
 namespace boost {
 namespace intrusive {
-
 namespace detail {
 
 /////////////////////////////////////////////////////////////////////////////
@@ -171,7 +170,7 @@
    :  public rbtree_node_traits_dispatch
          <VoidPointer
          ,has_pointer_plus_bit
-            <VoidPointer, boost::alignment_of<compact_rbtree_node<VoidPointer> 
+            <VoidPointer, 
detail::alignment_of<compact_rbtree_node<VoidPointer> 
                                              >::value 
             >::value
          >

Index: slist_node.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/intrusive/detail/slist_node.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- slist_node.hpp      23 May 2007 16:07:03 -0000      1.3
+++ slist_node.hpp      23 Jun 2007 12:55:23 -0000      1.4
@@ -16,7 +16,7 @@
 
 #include <boost/intrusive/detail/config_begin.hpp>
 #include <iterator>
-#include <boost/assert.hpp>
+#include <boost/intrusive/detail/assert.hpp>
 #include <boost/intrusive/detail/pointer_to_other.hpp>
 #include <boost/intrusive/circular_slist_algorithms.hpp>
 #ifdef BOOST_INTRUSIVE_USE_ITERATOR_FACADE

Index: utilities.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/intrusive/detail/utilities.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- utilities.hpp       12 May 2007 12:52:32 -0000      1.2
+++ utilities.hpp       23 Jun 2007 12:55:23 -0000      1.3
@@ -16,9 +16,11 @@
 #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/intrusive/detail/ebo_holder.hpp>
+#include <boost/intrusive/detail/ebo_functor_holder.hpp>
 #include <boost/intrusive/linking_policy.hpp>
+#include <boost/intrusive/detail/mpl.hpp>
 #include <cstddef>
+#include <iterator>
 
 namespace boost {
 namespace intrusive {
@@ -65,7 +67,7 @@
    {  return t_ == t;   }
 };
 
-class null_destroyer
+class null_disposer
 {
    public:
    template <class Pointer>
@@ -155,8 +157,8 @@
    typedef typename node_traits::const_node_ptr                      
const_node_ptr;
    typedef typename boost::pointer_to_other<node_ptr, T>::type       pointer;
    typedef typename boost::pointer_to_other<node_ptr, const T>::type 
const_pointer;
-   typedef typename std::iterator_traits<pointer>::reference         reference;
-   typedef typename std::iterator_traits<const_pointer>::reference   
const_reference;
+   typedef value_type &                                              reference;
+   typedef const value_type &                                        
const_reference;
    enum { linking_policy = MemberHookType::linking_policy };
 
    public:
@@ -192,10 +194,10 @@
 
 template<class KeyValueCompare, class ValueTraits>
 struct key_node_ptr_compare
-   :  private detail::ebo_holder<KeyValueCompare>
+   :  private detail::ebo_functor_holder<KeyValueCompare>
 {
    typedef typename ValueTraits::node_ptr node_ptr;
-   typedef detail::ebo_holder<KeyValueCompare> base_t;
+   typedef detail::ebo_functor_holder<KeyValueCompare> base_t;
    key_node_ptr_compare(KeyValueCompare kcomp)
       :  base_t(kcomp)
    {}
@@ -217,10 +219,10 @@
 
 template<class F, class ValueTraits>
 struct value_to_node_cloner
-   :  private detail::ebo_holder<F>
+   :  private detail::ebo_functor_holder<F>
 {
    typedef typename ValueTraits::node_ptr node_ptr;
-   typedef detail::ebo_holder<F> base_t;
+   typedef detail::ebo_functor_holder<F> base_t;
 
    value_to_node_cloner(F f)
       :  base_t(f)
@@ -231,12 +233,12 @@
 };
 
 template<class F, class ValueTraits>
-struct value_to_node_destroyer
-   :  private detail::ebo_holder<F>
+struct value_to_node_disposer
+   :  private detail::ebo_functor_holder<F>
 {
    typedef typename ValueTraits::node_ptr node_ptr;
-   typedef detail::ebo_holder<F> base_t;
-   value_to_node_destroyer(F f)
+   typedef detail::ebo_functor_holder<F> base_t;
+   value_to_node_disposer(F f)
       :  base_t(f)
    {}
 
@@ -250,7 +252,7 @@
 
 template<class Container>
 void destructor_impl(Container &cont, dispatcher<safe_link>)
-{  (void)cont; BOOST_ASSERT(!cont.is_linked());  }
+{  (void)cont; 
BOOST_INTRUSIVE_SAFE_MODE_HOOK_DESTRUCTOR_ASSERT(!cont.is_linked());  }
 
 template<class Container>
 void destructor_impl(Container &cont, dispatcher<auto_unlink>)
@@ -262,26 +264,26 @@
 
 template<class Node, class MaybeClass>
 struct node_plus_pred
-   :  public ebo_holder<MaybeClass>
+   :  public ebo_functor_holder<MaybeClass>
    ,  public Node
 {
    node_plus_pred()
       {}
 
    node_plus_pred(const Node &x, const MaybeClass &y)
-      : Node(x), ebo_holder<MaybeClass>(y) {}
+      : Node(x), ebo_functor_holder<MaybeClass>(y) {}
 
    node_plus_pred(const MaybeClass &y)
-      : ebo_holder<MaybeClass>(y) {}
+      : ebo_functor_holder<MaybeClass>(y) {}
 
    Node &first()          
       {  return *this;  }
    const Node &first() const 
       {  return *this;  }
    MaybeClass &second()        
-      {  return ebo_holder<MaybeClass>::get();  }
+      {  return ebo_functor_holder<MaybeClass>::get();  }
    const MaybeClass &second() const  
-      {  return ebo_holder<MaybeClass>::get();  }
+      {  return ebo_functor_holder<MaybeClass>::get();  }
 
    static node_plus_pred *this_from_node(Node *n)
    {  return static_cast<node_plus_pred*>(n);   }
@@ -290,33 +292,6 @@
    {  return static_cast<const node_plus_pred*>(n);   }
 };
 
-#ifndef BOOST_INTRUSIVE_USE_ITERATOR_ENABLE_IF_CONVERTIBLE
-
-template <bool B, class T = void>
-struct enable_if_c {
-  typedef T type;
-};
-
-template <class T>
-struct enable_if_c<false, T> {};
-
-template <class Cond, class T = void>
-struct enable_if : public enable_if_c<Cond::value, T> {};
-
-template <class T, class U>
-class is_convertible
-{
-   typedef char true_t;
-   class false_t { char dummy[2]; };
-   static true_t dispatch(U);
-   static false_t dispatch(...);
-   static T trigger();
-   public:
-   enum { value = sizeof(dispatch(trigger())) == sizeof(true_t) };
-};
-
-#endif   //#ifndef BOOST_INTRUSIVE_USE_ITERATOR_ENABLE_IF_CONVERTIBLE
-
 } //namespace detail 
 } //namespace intrusive 
 } //namespace boost 


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to