You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2011/06/05 08:40:27 UTC

svn commit: r1131945 [12/15] - in /incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0: ./ boost/ boost/bind/ boost/detail/ boost/exception/ boost/functional/ boost/functional/detail/ boost/functional/hash/ boost/integer/ boost/ms...

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_const.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_const.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_const.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_const.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,143 @@
+// Copyright (C) 2004 Peder Holt
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
+
+#include <boost/type_traits/msvc/typeof.hpp>
+#include <boost/type_traits/is_volatile.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/type_traits/is_array.hpp>
+
+namespace boost {
+    namespace detail {
+        template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
+        struct remove_const_impl_typeof {
+            template<typename T,typename ID>
+            struct inner {
+                typedef T type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type;
+            };
+        };
+        template<> //Const
+        struct remove_const_impl_typeof<false,false,true,false> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(U const&(*)());
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T& type;
+            };
+        };
+        template<> //CV
+        struct remove_const_impl_typeof<false,false,true,true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U volatile,ID> test(U const volatile&(*)());
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T& type;
+            };
+        };
+        template<> //Const Pointer
+        struct remove_const_impl_typeof<true,false,true,false> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(void(*)(U const[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type[];
+            };
+        };
+        template<> //CV Pointer
+        struct remove_const_impl_typeof<true,false,true,true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U volatile,ID> test(void(*)(U const volatile[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type[];
+            };
+        };        
+        template<> //Const Array
+        struct remove_const_impl_typeof<false,true,true,false> {
+            template<typename T,typename ID>
+            struct inner {
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+
+                template<typename U>
+                static msvc_register_type<U[value],ID> test(void(*)(U const[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type;
+            };
+        };
+
+        template<> //CV Array
+        struct remove_const_impl_typeof<false,true,true,true> {
+            template<typename T,typename ID>
+            struct inner {
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+
+                template<typename U>
+                static msvc_register_type<U volatile[value],ID> test(void(*)(U const volatile[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type;
+            };
+        };
+
+    } //namespace detail
+
+    template<typename T>
+    struct remove_const {
+        typedef detail::remove_const_impl_typeof<
+            boost::is_pointer<T>::value,
+            boost::is_array<T>::value,
+            boost::is_const<T>::value,
+            boost::is_volatile<T>::value
+        > remove_const_type;
+        typedef typename 
+            remove_const_type::template inner<
+                typename remove_const_type::template transform_type<T>::type,
+                remove_const<T>
+            >::type
+        type;
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_const,T)
+    };
+}//namespace boost
+
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_cv.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_cv.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_cv.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_cv.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,190 @@
+// Copyright (C) 2004 Peder Holt
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
+
+#include <boost/type_traits/msvc/typeof.hpp>
+#include <boost/type_traits/is_volatile.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/type_traits/is_array.hpp>
+
+namespace boost {
+    namespace detail {
+        template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
+        struct remove_cv_impl_typeof {
+            template<typename T,typename ID>
+            struct inner {
+                typedef T type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type;
+            };
+        };
+        template<> //Volatile
+        struct remove_cv_impl_typeof<false,false,false,true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(U volatile&(*)());
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T& type;
+            };
+        };
+        template<> //Const
+        struct remove_cv_impl_typeof<false,false,true,false> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(U const&(*)());
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T& type;
+            };
+        };
+        template<> //CV
+        struct remove_cv_impl_typeof<false,false,true,true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(U const volatile&(*)());
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T& type;
+            };
+        };
+        template<> //Volatile Pointer
+        struct remove_cv_impl_typeof<true,false,false,true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(void(*)(U volatile[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type[];
+            };
+        };
+        template<> //Const Pointer
+        struct remove_cv_impl_typeof<true,false,true,false> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(void(*)(U const[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type[];
+            };
+        };
+        template<> //CV Pointer
+        struct remove_cv_impl_typeof<true,false,true,true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(void(*)(U const volatile[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type[];
+            };
+        };        
+        template<> //Volatile Array
+        struct remove_cv_impl_typeof<false,true,false,true> {
+            template<typename T,typename ID>
+            struct inner {
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+
+                template<typename U>
+                static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type;
+            };
+        };
+        template<> //Const Array
+        struct remove_cv_impl_typeof<false,true,true,false> {
+            template<typename T,typename ID>
+            struct inner {
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+
+                template<typename U>
+                static msvc_register_type<U[value],ID> test(void(*)(U const[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type;
+            };
+        };
+
+        template<> //CV Array
+        struct remove_cv_impl_typeof<false,true,true,true> {
+            template<typename T,typename ID>
+            struct inner {
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+
+                template<typename U>
+                static msvc_register_type<U[value],ID> test(void(*)(U const volatile[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type;
+            };
+        };
+
+    } //namespace detail
+
+    template<typename T>
+    struct remove_cv {
+        typedef detail::remove_cv_impl_typeof<
+            boost::is_pointer<T>::value,
+            boost::is_array<T>::value,
+            boost::is_const<T>::value,
+            boost::is_volatile<T>::value
+        > remove_cv_type;
+        typedef typename 
+            remove_cv_type::template inner<
+                typename remove_cv_type::template transform_type<T>::type,
+                remove_cv<T>
+            >::type
+        type;
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_cv,T)
+    };
+}//namespace boost
+
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_extent.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_extent.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_extent.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_extent.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,43 @@
+// Copyright (C) 2004 Peder Holt
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
+
+#include <boost/type_traits/msvc/typeof.hpp>
+#include <boost/type_traits/is_array.hpp>
+
+namespace boost {
+    namespace detail {
+        template<bool IsArray>
+        struct remove_extent_impl_typeof {
+            template<typename T,typename ID>
+            struct inner {
+                typedef T type;
+            };
+        };
+        template<>
+        struct remove_extent_impl_typeof<true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(U[]);
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+        };
+    } //namespace detail
+
+    template<typename T>
+    struct remove_extent {
+        typedef typename detail::remove_extent_impl_typeof<
+            boost::is_array<T>::value                
+        >::template inner<T,remove_extent<T> >::type type;
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_extent,T)
+    };
+} //namespace boost
+
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
+

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_pointer.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_pointer.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_pointer.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_pointer.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,42 @@
+// Copyright (C) 2004 Peder Holt
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
+
+#include <boost/type_traits/msvc/typeof.hpp>
+#include <boost/type_traits/is_pointer.hpp>
+
+namespace boost {
+    namespace detail {
+        template<int IsPointer>
+        struct remove_pointer_impl_typeof {
+            template<typename T,typename ID>
+            struct inner {
+                typedef T type;
+            };
+        };
+        template<>
+        struct remove_pointer_impl_typeof<true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(U*);
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+        };
+    } //namespace detail
+
+    template<typename T>
+    struct remove_pointer {
+        typedef typename detail::remove_pointer_impl_typeof<
+            boost::is_pointer<T>::value
+        >::template inner<T,remove_pointer<T> >::type type;
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_pointer,T)
+    };
+} //namespace boost
+
+#endif //BOOST_TYPE_TRAITS_REMOVE_POINTER_HOLT_2004_0827

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_reference.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_reference.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_reference.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_reference.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,42 @@
+// Copyright (C) 2004 Peder Holt
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
+
+#include <boost/type_traits/msvc/typeof.hpp>
+#include <boost/type_traits/is_reference.hpp>
+
+namespace boost {
+    namespace detail {
+        template<bool IsReference>
+        struct remove_reference_impl_typeof {
+            template<typename T,typename ID>
+            struct inner {
+                typedef T type;
+            };
+        };
+        template<>
+        struct remove_reference_impl_typeof<true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(U&(*)());
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+        };
+    } //namespace detail
+    
+    template<typename T>
+    struct remove_reference {
+        typedef typename detail::remove_reference_impl_typeof<
+            boost::is_reference<T>::value
+        >::template inner<T,remove_reference<T> >::type type;
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_reference,T)
+    };
+} //namespace boost
+
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_volatile.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_volatile.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_volatile.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/remove_volatile.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,143 @@
+// Copyright (C) 2004 Peder Holt
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
+#define BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
+
+#include <boost/type_traits/msvc/typeof.hpp>
+#include <boost/type_traits/is_volatile.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/type_traits/is_array.hpp>
+
+namespace boost {
+    namespace detail {
+        template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
+        struct remove_volatile_impl_typeof {
+            template<typename T,typename ID>
+            struct inner {
+                typedef T type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type;
+            };
+        };
+        template<> //Volatile
+        struct remove_volatile_impl_typeof<false,false,false,true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(U volatile&(*)());
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };            
+            template<typename T>
+            struct transform_type {
+                typedef T& type;
+            };
+        };
+        template<> //CV
+        struct remove_volatile_impl_typeof<false,false,true,true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U const,ID> test(U const volatile&(*)());
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T& type;
+            };
+        };
+        template<> //Volatile Pointer
+        struct remove_volatile_impl_typeof<true,false,false,true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U,ID> test(void(*)(U volatile[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type[];
+            };
+        };
+        template<> //CV Pointer
+        struct remove_volatile_impl_typeof<true,false,true,true> {
+            template<typename T,typename ID>
+            struct inner {
+                template<typename U>
+                static msvc_register_type<U const,ID> test(void(*)(U const volatile[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type[];
+            };
+        };        
+        template<> //Volatile Array
+        struct remove_volatile_impl_typeof<false,true,false,true> {
+            template<typename T,typename ID>
+            struct inner {
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+
+                template<typename U>
+                static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;                
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type;
+            };
+        };
+
+        template<> //CV Array
+        struct remove_volatile_impl_typeof<false,true,true,true> {
+            template<typename T,typename ID>
+            struct inner {
+                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+
+                template<typename U>
+                static msvc_register_type<U const[value],ID> test(void(*)(U const volatile[]));
+                static msvc_register_type<T,ID> test(...);
+                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                typedef typename msvc_extract_type<ID>::id2type::type type;
+            };
+            template<typename T>
+            struct transform_type {
+                typedef T type;
+            };
+        };
+
+    } //namespace detail
+
+    template<typename T>
+    struct remove_volatile {
+        typedef detail::remove_volatile_impl_typeof<
+            boost::is_pointer<T>::value,
+            boost::is_array<T>::value,
+            boost::is_const<T>::value,
+            boost::is_volatile<T>::value
+        > remove_volatile_type;
+        typedef typename 
+            remove_volatile_type::template inner<
+                typename remove_volatile_type::template transform_type<T>::type,
+                remove_volatile<T>
+            >::type
+        type;
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_volatile,T)
+    };
+}//namespace boost
+
+#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/typeof.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/typeof.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/typeof.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/msvc/typeof.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,50 @@
+// Copyright (C) 2004 Peder Holt
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_TYPETRAITS_MSVC_TYPEOF_HPP
+#define BOOST_TYPETRAITS_MSVC_TYPEOF_HPP
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+namespace boost { namespace detail {
+# if BOOST_WORKAROUND(BOOST_MSVC,==1300)
+        template<typename ID>
+        struct msvc_extract_type
+        {
+            template<bool>
+            struct id2type_impl;
+
+            typedef id2type_impl<true> id2type;
+        };
+
+        template<typename T, typename ID>
+        struct msvc_register_type : msvc_extract_type<ID>
+        {
+            template<>
+            struct id2type_impl<true>  //VC7.0 specific bugfeature
+            {
+                typedef T type;
+            };
+        };
+# else 
+        template<typename ID>
+        struct msvc_extract_type
+        {
+            struct id2type;
+        };
+
+        template<typename T, typename ID>
+        struct msvc_register_type : msvc_extract_type<ID>
+        {
+            typedef msvc_extract_type<ID> base_type;
+            struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature
+            {
+                typedef T type;
+            };
+        };
+# endif
+}}
+
+#endif //BOOST_TYPETRAITS_MSVC_TYPEOF_IMPL_HPP

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/object_traits.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/object_traits.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/object_traits.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/object_traits.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,33 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+//
+//  defines object traits classes:
+//  is_object, is_scalar, is_class, is_compound, is_pod, 
+//  has_trivial_constructor, has_trivial_copy, has_trivial_assign, 
+//  has_trivial_destructor, is_empty.
+//
+
+#ifndef BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
+#define BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
+
+#include <boost/type_traits/has_trivial_assign.hpp>
+#include <boost/type_traits/has_trivial_constructor.hpp>
+#include <boost/type_traits/has_trivial_copy.hpp>
+#include <boost/type_traits/has_trivial_destructor.hpp>
+#include <boost/type_traits/has_nothrow_constructor.hpp>
+#include <boost/type_traits/has_nothrow_copy.hpp>
+#include <boost/type_traits/has_nothrow_assign.hpp>
+#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/type_traits/is_class.hpp>
+#include <boost/type_traits/is_compound.hpp>
+#include <boost/type_traits/is_empty.hpp>
+#include <boost/type_traits/is_object.hpp>
+#include <boost/type_traits/is_pod.hpp>
+#include <boost/type_traits/is_scalar.hpp>
+#include <boost/type_traits/is_stateless.hpp>
+
+#endif // BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/promote.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/promote.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/promote.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/promote.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,40 @@
+// Copyright 2005 Alexander Nasonov.
+// 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 FILE_boost_type_traits_promote_hpp_INCLUDED
+#define FILE_boost_type_traits_promote_hpp_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/type_traits/integral_promotion.hpp>
+#include <boost/type_traits/floating_point_promotion.hpp>
+
+// Should be the last #include
+#include <boost/type_traits/detail/type_trait_def.hpp>
+
+namespace boost {
+
+namespace detail {
+
+template<class T>
+struct promote_impl
+  : integral_promotion<
+        BOOST_DEDUCED_TYPENAME floating_point_promotion<T>::type
+      >
+{
+};
+
+}
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(
+      promote
+    , T
+    , BOOST_DEDUCED_TYPENAME boost::detail::promote_impl<T>::type
+    )
+}
+
+#include <boost/type_traits/detail/type_trait_undef.hpp>
+
+#endif // #ifndef FILE_boost_type_traits_promote_hpp_INCLUDED
+

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/rank.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/rank.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/rank.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/rank.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,89 @@
+
+//  (C) Copyright John Maddock 2005.  
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+
+#ifndef BOOST_TT_RANK_HPP_INCLUDED
+#define BOOST_TT_RANK_HPP_INCLUDED
+
+// should be the last #include
+#include <boost/type_traits/detail/size_t_trait_def.hpp>
+
+namespace boost {
+
+#if !defined( __CODEGEARC__ )
+
+namespace detail{
+
+template <class T, std::size_t N>
+struct rank_imp
+{
+   BOOST_STATIC_CONSTANT(std::size_t, value = N);
+};
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+template <class T, std::size_t R, std::size_t N>
+struct rank_imp<T[R], N>
+{
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
+};
+
+template <class T, std::size_t R, std::size_t N>
+struct rank_imp<T const[R], N>
+{
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
+};
+
+template <class T, std::size_t R, std::size_t N>
+struct rank_imp<T volatile[R], N>
+{
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
+};
+
+template <class T, std::size_t R, std::size_t N>
+struct rank_imp<T const volatile[R], N>
+{
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
+};
+
+#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
+template <class T, std::size_t N>
+struct rank_imp<T[], N>
+{
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
+};
+template <class T, std::size_t N>
+struct rank_imp<T const[], N>
+{
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
+};
+template <class T, std::size_t N>
+struct rank_imp<T volatile[], N>
+{
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
+};
+template <class T, std::size_t N>
+struct rank_imp<T const volatile[], N>
+{
+   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
+};
+#endif
+#endif
+}
+
+#endif // !defined( __CODEGEARC__ )
+
+#if defined( __CODEGEARC__ )
+BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,__array_rank(T))
+#else
+BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,(::boost::detail::rank_imp<T,0>::value))
+#endif
+
+} // namespace boost
+
+#include <boost/type_traits/detail/size_t_trait_undef.hpp>
+
+#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/reference_traits.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/reference_traits.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/reference_traits.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/reference_traits.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,15 @@
+//  (C) Copyright David Abrahams Steve Cleary, Beman Dawes, Howard
+//  Hinnant & John Maddock 2000-2002.  
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+
+#ifndef BOOST_TT_REFERENCE_TRAITS_HPP_INCLUDED
+#define BOOST_TT_REFERENCE_TRAITS_HPP_INCLUDED
+
+#include <boost/type_traits/is_reference.hpp>
+
+#endif // BOOST_TT_REFERENCE_TRAITS_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_all_extents.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_all_extents.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_all_extents.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_all_extents.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,48 @@
+
+//  (C) Copyright John Maddock 2005.
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED
+#define BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <cstddef>
+#include <boost/detail/workaround.hpp>
+
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#include <boost/type_traits/msvc/remove_all_extents.hpp>
+#endif
+
+// should be the last #include
+#include <boost/type_traits/detail/type_trait_def.hpp>
+
+#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+
+namespace boost {
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_all_extents,T,T)
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T[N],typename boost::remove_all_extents<T>::type type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const[N],typename boost::remove_all_extents<T const>::type type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T volatile[N],typename boost::remove_all_extents<T volatile>::type type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const volatile[N],typename boost::remove_all_extents<T const volatile>::type type)
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T[],typename boost::remove_all_extents<T>::type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const[],typename boost::remove_all_extents<T const>::type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T volatile[],typename boost::remove_all_extents<T volatile>::type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const volatile[],typename boost::remove_all_extents<T const volatile>::type)
+#endif
+#endif
+
+} // namespace boost
+
+#endif
+
+#include <boost/type_traits/detail/type_trait_undef.hpp>
+
+#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_bounds.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_bounds.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_bounds.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_bounds.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,48 @@
+
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
+#define BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <cstddef>
+#include <boost/detail/workaround.hpp>
+
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#include <boost/type_traits/msvc/remove_bounds.hpp>
+#endif
+
+// should be the last #include
+#include <boost/type_traits/detail/type_trait_def.hpp>
+
+#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+
+namespace boost {
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_bounds,T,T)
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T[N],T type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const[N],T const type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T volatile[N],T volatile type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const volatile[N],T const volatile type)
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T[],T)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const[],T const)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T volatile[],T volatile)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const volatile[],T const volatile)
+#endif
+#endif
+
+} // namespace boost
+
+#endif
+
+#include <boost/type_traits/detail/type_trait_undef.hpp>
+
+#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_const.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_const.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_const.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_const.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,78 @@
+
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
+//  Hinnant & John Maddock 2000.  
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+
+#ifndef BOOST_TT_REMOVE_CONST_HPP_INCLUDED
+#define BOOST_TT_REMOVE_CONST_HPP_INCLUDED
+
+#include <boost/type_traits/is_volatile.hpp>
+#include <boost/type_traits/broken_compiler_spec.hpp>
+#include <boost/type_traits/detail/cv_traits_impl.hpp>
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <cstddef>
+
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#include <boost/type_traits/msvc/remove_const.hpp>
+#endif
+
+// should be the last #include
+#include <boost/type_traits/detail/type_trait_def.hpp>
+
+namespace boost {
+
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+namespace detail {
+
+template <typename T, bool is_vol>
+struct remove_const_helper
+{
+    typedef T type;
+};
+
+template <typename T>
+struct remove_const_helper<T, true>
+{
+    typedef T volatile type;
+};
+
+
+template <typename T>
+struct remove_const_impl
+{
+    typedef typename remove_const_helper<
+          typename cv_traits_imp<T*>::unqualified_type
+        , ::boost::is_volatile<T>::value
+        >::type type;
+};
+
+} // namespace detail
+
+// * convert a type T to non-const type - remove_const<T>
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename boost::detail::remove_const_impl<T>::type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_const,T&,T&)
+#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const[N],T type[N])
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const volatile[N],T volatile type[N])
+#endif
+
+#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename boost::detail::remove_const_impl<T>::type)
+
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+} // namespace boost
+
+#include <boost/type_traits/detail/type_trait_undef.hpp>
+
+#endif // BOOST_TT_REMOVE_CONST_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_cv.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_cv.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_cv.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_cv.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,61 @@
+
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
+//  Hinnant & John Maddock 2000.  
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+
+#ifndef BOOST_TT_REMOVE_CV_HPP_INCLUDED
+#define BOOST_TT_REMOVE_CV_HPP_INCLUDED
+
+#include <boost/type_traits/broken_compiler_spec.hpp>
+#include <boost/type_traits/detail/cv_traits_impl.hpp>
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <cstddef>
+
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#include <boost/type_traits/msvc/remove_cv.hpp>
+#endif
+
+// should be the last #include
+#include <boost/type_traits/detail/type_trait_def.hpp>
+
+namespace boost {
+
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+//  convert a type T to a non-cv-qualified type - remove_cv<T>
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename boost::detail::cv_traits_imp<T*>::unqualified_type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_cv,T&,T&)
+#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const[N],T type[N])
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T volatile[N],T type[N])
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const volatile[N],T type[N])
+#endif
+
+#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+
+namespace detail {
+template <typename T>
+struct remove_cv_impl
+{
+    typedef typename remove_volatile_impl< 
+          typename remove_const_impl<T>::type
+        >::type type;
+};
+}
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename boost::detail::remove_cv_impl<T>::type)
+
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+} // namespace boost
+
+#include <boost/type_traits/detail/type_trait_undef.hpp>
+
+#endif // BOOST_TT_REMOVE_CV_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_extent.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_extent.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_extent.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_extent.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,48 @@
+
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000-2005.
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED
+#define BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#include <cstddef>
+
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#include <boost/type_traits/msvc/remove_extent.hpp>
+#endif
+
+// should be the last #include
+#include <boost/type_traits/detail/type_trait_def.hpp>
+
+#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+
+namespace boost {
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_extent,T,T)
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T[N],T type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const[N],T const type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T volatile[N],T volatile type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const volatile[N],T const volatile type)
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T[],T)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const[],T const)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T volatile[],T volatile)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const volatile[],T const volatile)
+#endif
+#endif
+
+} // namespace boost
+
+#endif
+
+#include <boost/type_traits/detail/type_trait_undef.hpp>
+
+#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_pointer.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_pointer.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_pointer.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_pointer.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,43 @@
+
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
+#define BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
+
+#include <boost/type_traits/broken_compiler_spec.hpp>
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#include <boost/type_traits/msvc/remove_pointer.hpp>
+#endif
+
+// should be the last #include
+#include <boost/type_traits/detail/type_trait_def.hpp>
+
+namespace boost {
+
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,T)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T*,T)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const,T)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* volatile,T)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const volatile,T)
+
+#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename boost::detail::remove_pointer_impl<T>::type)
+
+#endif
+
+} // namespace boost
+
+#include <boost/type_traits/detail/type_trait_undef.hpp>
+
+#endif // BOOST_TT_REMOVE_POINTER_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_reference.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_reference.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_reference.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_reference.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,50 @@
+
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
+#define BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
+
+#include <boost/type_traits/broken_compiler_spec.hpp>
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#include <boost/type_traits/msvc/remove_reference.hpp>
+#endif
+
+// should be the last #include
+#include <boost/type_traits/detail/type_trait_def.hpp>
+
+namespace boost {
+
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,T)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T&,T)
+
+#if defined(BOOST_ILLEGAL_CV_REFERENCES)
+// these are illegal specialisations; cv-qualifies applied to
+// references have no effect according to [8.3.2p1],
+// C++ Builder requires them though as it treats cv-qualified
+// references as distinct types...
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const,T)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& volatile,T)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const volatile,T)
+#endif
+
+#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename boost::detail::remove_reference_impl<T>::type)
+
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+} // namespace boost
+
+#include <boost/type_traits/detail/type_trait_undef.hpp>
+
+#endif // BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_volatile.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_volatile.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_volatile.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/remove_volatile.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,77 @@
+
+//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
+//  Hinnant & John Maddock 2000.  
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+
+#ifndef BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
+#define BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
+
+#include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/broken_compiler_spec.hpp>
+#include <boost/type_traits/detail/cv_traits_impl.hpp>
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <cstddef>
+
+#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#include <boost/type_traits/msvc/remove_volatile.hpp>
+#endif
+
+// should be the last #include
+#include <boost/type_traits/detail/type_trait_def.hpp>
+
+namespace boost {
+
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+namespace detail {
+
+template <typename T, bool is_const>
+struct remove_volatile_helper
+{
+    typedef T type;
+};
+
+template <typename T>
+struct remove_volatile_helper<T,true>
+{
+    typedef T const type;
+};
+
+template <typename T>
+struct remove_volatile_impl
+{
+    typedef typename remove_volatile_helper<
+          typename cv_traits_imp<T*>::unqualified_type
+        , ::boost::is_const<T>::value
+        >::type type;
+};
+
+} // namespace detail
+
+// * convert a type T to a non-volatile type - remove_volatile<T>
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename boost::detail::remove_volatile_impl<T>::type)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_volatile,T&,T&)
+#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T volatile[N],T type[N])
+BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T const volatile[N],T const type[N])
+#endif
+
+#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+
+BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename boost::detail::remove_volatile_impl<T>::type)
+
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+} // namespace boost
+
+#include <boost/type_traits/detail/type_trait_undef.hpp>
+
+#endif // BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/same_traits.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/same_traits.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/same_traits.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/same_traits.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,15 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+//
+//  defines is_same:
+
+#ifndef BOOST_TT_SAME_TRAITS_HPP_INCLUDED
+#define BOOST_TT_SAME_TRAITS_HPP_INCLUDED
+
+#include <boost/type_traits/is_same.hpp>
+
+#endif  // BOOST_TT_SAME_TRAITS_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/throw_exception.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/throw_exception.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/throw_exception.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/throw_exception.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,74 @@
+#ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED
+#define BOOST_THROW_EXCEPTION_HPP_INCLUDED
+
+// MS compatible compilers support #pragma once
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+//
+//  boost/throw_exception.hpp
+//
+//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
+//  Copyright (c) 2008 Emil Dotchevski and Reverge Studios, Inc.
+//
+//  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)
+//
+//  http://www.boost.org/libs/utility/throw_exception.html
+//
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#include <exception>
+
+#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x593) )
+# define BOOST_EXCEPTION_DISABLE
+#endif
+
+#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1310 )
+# define BOOST_EXCEPTION_DISABLE
+#endif
+
+#if !defined( BOOST_NO_EXCEPTIONS ) && !defined( BOOST_EXCEPTION_DISABLE )
+# include <boost/exception/exception.hpp>
+# include <boost/current_function.hpp>
+# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(::boost::enable_error_info(x) <<\
+    ::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\
+    ::boost::throw_file(__FILE__) <<\
+    ::boost::throw_line((int)__LINE__))
+#else
+# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x)
+#endif
+
+namespace boost
+{
+
+#ifdef BOOST_NO_EXCEPTIONS
+
+void throw_exception( std::exception const & e ); // user defined
+
+#else
+
+inline void throw_exception_assert_compatibility( std::exception const & ) { }
+
+template<class E> inline void throw_exception( E const & e )
+{
+    //All boost exceptions are required to derive std::exception,
+    //to ensure compatibility with BOOST_NO_EXCEPTIONS.
+    throw_exception_assert_compatibility(e);
+
+#ifndef BOOST_EXCEPTION_DISABLE
+    throw enable_current_exception(enable_error_info(e));
+#else
+    throw e;
+#endif
+}
+
+#endif
+
+} // namespace boost
+
+#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/transform_traits.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/transform_traits.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/transform_traits.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/transform_traits.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,21 @@
+//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+//
+//  defines traits classes for transforming one type to another:
+//  remove_reference, add_reference, remove_bounds, remove_pointer.
+//
+
+#ifndef BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
+#define BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
+
+#include <boost/type_traits/add_pointer.hpp>
+#include <boost/type_traits/add_reference.hpp>
+#include <boost/type_traits/remove_bounds.hpp>
+#include <boost/type_traits/remove_pointer.hpp>
+#include <boost/type_traits/remove_reference.hpp>
+
+#endif // BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/transform_traits_spec.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/transform_traits_spec.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/transform_traits_spec.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/transform_traits_spec.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,14 @@
+
+//  Copyright 2001 Aleksey Gurtovoy.
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED
+#define BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED
+
+#include <boost/type_traits/broken_compiler_spec.hpp>
+
+#endif // BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/type.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/type.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/type.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/type.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,18 @@
+// (C) Copyright David Abrahams 2001.
+// 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_TYPE_DWA20010120_HPP
+# define BOOST_TYPE_DWA20010120_HPP
+
+namespace boost {
+
+  // Just a simple "type envelope". Useful in various contexts, mostly to work
+  // around some MSVC deficiencies.
+  template <class T>
+  struct type {};
+
+}
+
+#endif // BOOST_TYPE_DWA20010120_HPP

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/type_with_alignment.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/type_with_alignment.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/type_with_alignment.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/type_with_alignment.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,393 @@
+//  (C) Copyright John Maddock 2000.
+//  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).
+//
+//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
+#define BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
+
+#include <boost/mpl/if.hpp>
+#include <boost/preprocessor/list/for_each_i.hpp>
+#include <boost/preprocessor/tuple/to_list.hpp>
+#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/list/transform.hpp>
+#include <boost/preprocessor/list/append.hpp>
+#include <boost/type_traits/alignment_of.hpp>
+#include <boost/type_traits/is_pod.hpp>
+#include <boost/static_assert.hpp>
+#include <boost/config.hpp>
+
+// should be the last #include
+#include <boost/type_traits/detail/bool_trait_def.hpp>
+
+#include <cstddef>
+
+#ifdef BOOST_MSVC
+#   pragma warning(push)
+#   pragma warning(disable: 4121) // alignment is sensitive to packing
+#endif
+
+namespace boost {
+
+#ifndef __BORLANDC__
+
+namespace detail {
+
+class alignment_dummy;
+typedef void (*function_ptr)();
+typedef int (alignment_dummy::*member_ptr);
+typedef int (alignment_dummy::*member_function_ptr)();
+
+#ifdef BOOST_HAS_LONG_LONG
+#define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \
+        12, ( \
+        char, short, int, long,  ::boost::long_long_type, float, double, long double \
+        , void*, function_ptr, member_ptr, member_function_ptr))
+#else
+#define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \
+        11, ( \
+        char, short, int, long, float, double, long double \
+        , void*, function_ptr, member_ptr, member_function_ptr))
+#endif
+
+#define BOOST_TT_HAS_ONE_T(D,Data,T) boost::detail::has_one_T< T >
+
+#define BOOST_TT_ALIGNMENT_STRUCT_TYPES                         \
+        BOOST_PP_LIST_TRANSFORM(BOOST_TT_HAS_ONE_T,             \
+                                X,                              \
+                                BOOST_TT_ALIGNMENT_BASE_TYPES)
+
+#define BOOST_TT_ALIGNMENT_TYPES                                \
+        BOOST_PP_LIST_APPEND(BOOST_TT_ALIGNMENT_BASE_TYPES,     \
+                             BOOST_TT_ALIGNMENT_STRUCT_TYPES)
+
+//
+// lower_alignment_helper --
+//
+// This template gets instantiated a lot, so use partial
+// specialization when available to reduce the compiler burden.
+//
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+template <bool found = true>
+struct lower_alignment_helper_impl
+{
+    template <std::size_t, class>
+    struct apply
+    {
+        typedef char type;
+        enum { value = true };
+    };
+};
+
+template <>
+struct lower_alignment_helper_impl<false>
+{
+    template <std::size_t target, class TestType>
+    struct apply
+      : mpl::if_c<(alignment_of<TestType>::value == target), TestType, char>
+    {
+        enum { value = (alignment_of<TestType>::value == target) };
+    };
+};
+
+template <bool found, std::size_t target, class TestType>
+struct lower_alignment_helper
+  : lower_alignment_helper_impl<found>::template apply<target,TestType>
+{
+};
+#else
+template <bool found, std::size_t target, class TestType>
+struct lower_alignment_helper
+{
+    typedef char type;
+    enum { value = true };
+};
+
+template <std::size_t target, class TestType>
+struct lower_alignment_helper<false,target,TestType>
+{
+    enum { value = (alignment_of<TestType>::value == target) };
+    typedef typename mpl::if_c<value, TestType, char>::type type;
+};
+#endif
+
+#define BOOST_TT_CHOOSE_MIN_ALIGNMENT(R,P,I,T)                                  \
+        typename lower_alignment_helper<                                        \
+          BOOST_PP_CAT(found,I),target,T                                        \
+        >::type BOOST_PP_CAT(t,I);                                              \
+        enum {                                                                  \
+            BOOST_PP_CAT(found,BOOST_PP_INC(I))                                 \
+              = lower_alignment_helper<BOOST_PP_CAT(found,I),target,T >::value  \
+        };
+
+#define BOOST_TT_CHOOSE_T(R,P,I,T) T BOOST_PP_CAT(t,I);
+
+template <typename T>
+struct has_one_T
+{
+  T data;
+};
+
+template <std::size_t target>
+union lower_alignment
+{
+    enum { found0 = false };
+
+    BOOST_PP_LIST_FOR_EACH_I(
+          BOOST_TT_CHOOSE_MIN_ALIGNMENT
+        , ignored
+        , BOOST_TT_ALIGNMENT_TYPES
+        )
+};
+
+union max_align
+{
+    BOOST_PP_LIST_FOR_EACH_I(
+          BOOST_TT_CHOOSE_T
+        , ignored
+        , BOOST_TT_ALIGNMENT_TYPES
+        )
+};
+
+#undef BOOST_TT_ALIGNMENT_BASE_TYPES
+#undef BOOST_TT_HAS_ONE_T
+#undef BOOST_TT_ALIGNMENT_STRUCT_TYPES
+#undef BOOST_TT_ALIGNMENT_TYPES
+#undef BOOST_TT_CHOOSE_MIN_ALIGNMENT
+#undef BOOST_TT_CHOOSE_T
+
+template<std::size_t TAlign, std::size_t Align>
+struct is_aligned
+{
+    BOOST_STATIC_CONSTANT(bool,
+        value = (TAlign >= Align) & (TAlign % Align == 0)
+        );
+};
+
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::max_align,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<1> ,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<2> ,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<4> ,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<8> ,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<10> ,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<16> ,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<32> ,true)
+#endif
+
+} // namespace detail
+
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+template<std::size_t Align>
+struct is_pod< ::boost::detail::lower_alignment<Align> >
+{
+        BOOST_STATIC_CONSTANT(std::size_t, value = true);
+};
+#endif
+
+// This alignment method originally due to Brian Parker, implemented by David
+// Abrahams, and then ported here by Doug Gregor.
+namespace detail{
+
+template <std::size_t Align>
+class type_with_alignment_imp
+{
+    typedef ::boost::detail::lower_alignment<Align> t1;
+    typedef typename mpl::if_c<
+          ::boost::detail::is_aligned< ::boost::alignment_of<t1>::value,Align >::value
+        , t1
+        , ::boost::detail::max_align
+        >::type align_t;
+
+    BOOST_STATIC_CONSTANT(std::size_t, found = alignment_of<align_t>::value);
+
+    BOOST_STATIC_ASSERT(found >= Align);
+    BOOST_STATIC_ASSERT(found % Align == 0);
+
+ public:
+    typedef align_t type;
+};
+
+}
+
+template <std::size_t Align>
+class type_with_alignment 
+  : public ::boost::detail::type_with_alignment_imp<Align>
+{
+};
+
+#if defined(__GNUC__)
+namespace align {
+struct __attribute__((__aligned__(2))) a2 {};
+struct __attribute__((__aligned__(4))) a4 {};
+struct __attribute__((__aligned__(8))) a8 {};
+struct __attribute__((__aligned__(16))) a16 {};
+struct __attribute__((__aligned__(32))) a32 {};
+}
+
+template<> class type_with_alignment<1>  { public: typedef char type; };
+template<> class type_with_alignment<2>  { public: typedef align::a2 type; };
+template<> class type_with_alignment<4>  { public: typedef align::a4 type; };
+template<> class type_with_alignment<8>  { public: typedef align::a8 type; };
+template<> class type_with_alignment<16> { public: typedef align::a16 type; };
+template<> class type_with_alignment<32> { public: typedef align::a32 type; };
+
+namespace detail {
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a2,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a4,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a32,true)
+}
+#endif
+#if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && _MSC_VER >= 1300
+//
+// MSVC supports types which have alignments greater than the normal
+// maximum: these are used for example in the types __m64 and __m128
+// to provide types with alignment requirements which match the SSE
+// registers.  Therefore we extend type_with_alignment<> to support
+// such types, however, we have to be careful to use a builtin type
+// whenever possible otherwise we break previously working code:
+// see http://article.gmane.org/gmane.comp.lib.boost.devel/173011
+// for an example and test case.  Thus types like a8 below will
+// be used *only* if the existing implementation can't provide a type
+// with suitable alignment.  This does mean however, that type_with_alignment<>
+// may return a type which cannot be passed through a function call
+// by value (and neither can any type containing such a type like
+// Boost.Optional).  However, this only happens when we have no choice 
+// in the matter because no other "ordinary" type is available.
+//
+namespace align {
+struct __declspec(align(8)) a8 { 
+   char m[8]; 
+   typedef a8 type;
+};
+struct __declspec(align(16)) a16 { 
+   char m[16]; 
+   typedef a16 type;
+};
+struct __declspec(align(32)) a32 { 
+   char m[32]; 
+   typedef a32 type;
+};
+struct __declspec(align(64)) a64 
+{ 
+   char m[64]; 
+   typedef a64 type;
+};
+struct __declspec(align(128)) a128 { 
+   char m[128]; 
+   typedef a128 type;
+};
+}
+
+template<> class type_with_alignment<8>  
+{ 
+   typedef mpl::if_c<
+      ::boost::alignment_of<detail::max_align>::value < 8,
+      align::a8,
+      detail::type_with_alignment_imp<8> >::type t1; 
+public: 
+   typedef t1::type type;
+};
+template<> class type_with_alignment<16> 
+{ 
+   typedef mpl::if_c<
+      ::boost::alignment_of<detail::max_align>::value < 16,
+      align::a16,
+      detail::type_with_alignment_imp<16> >::type t1; 
+public: 
+   typedef t1::type type;
+};
+template<> class type_with_alignment<32> 
+{ 
+   typedef mpl::if_c<
+      ::boost::alignment_of<detail::max_align>::value < 32,
+      align::a32,
+      detail::type_with_alignment_imp<32> >::type t1; 
+public: 
+   typedef t1::type type;
+};
+template<> class type_with_alignment<64> {
+   typedef mpl::if_c<
+      ::boost::alignment_of<detail::max_align>::value < 64,
+      align::a64,
+      detail::type_with_alignment_imp<64> >::type t1; 
+public: 
+   typedef t1::type type;
+};
+template<> class type_with_alignment<128> {
+   typedef mpl::if_c<
+      ::boost::alignment_of<detail::max_align>::value < 128,
+      align::a128,
+      detail::type_with_alignment_imp<128> >::type t1; 
+public: 
+   typedef t1::type type;
+};
+
+namespace detail {
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a32,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a64,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a128,true)
+}
+#endif
+
+#else
+
+//
+// Borland specific version, we have this for two reasons:
+// 1) The version above doesn't always compile (with the new test cases for example)
+// 2) Because of Borlands #pragma option we can create types with alignments that are
+//    greater that the largest aligned builtin type.
+
+namespace align{
+#pragma option push -a16
+struct a2{ short s; };
+struct a4{ int s; };
+struct a8{ double s; };
+struct a16{ long double s; };
+#pragma option pop
+}
+
+namespace detail {
+
+typedef ::boost::align::a16 max_align;
+
+//#if ! BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a2,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a4,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)
+//#endif
+}
+
+template <std::size_t N> struct type_with_alignment
+{
+   // We should never get to here, but if we do use the maximally
+   // aligned type:
+   // BOOST_STATIC_ASSERT(0);
+   typedef align::a16 type;
+};
+template <> struct type_with_alignment<1>{ typedef char type; };
+template <> struct type_with_alignment<2>{ typedef align::a2 type; };
+template <> struct type_with_alignment<4>{ typedef align::a4 type; };
+template <> struct type_with_alignment<8>{ typedef align::a8 type; };
+template <> struct type_with_alignment<16>{ typedef align::a16 type; };
+
+#endif
+
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#   pragma warning(pop)
+#endif
+
+#include <boost/type_traits/detail/bool_trait_undef.hpp>
+
+#endif // BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
+
+

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/unordered/detail/allocator_helpers.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/unordered/detail/allocator_helpers.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/unordered/detail/allocator_helpers.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/unordered/detail/allocator_helpers.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,237 @@
+
+// Copyright 2005-2008 Daniel James.
+// 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_UNORDERED_DETAIL_ALLOCATOR_UTILITIES_HPP_INCLUDED
+#define BOOST_UNORDERED_DETAIL_ALLOCATOR_UTILITIES_HPP_INCLUDED
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+#include <boost/config.hpp>
+
+#if (defined(BOOST_NO_STD_ALLOCATOR) || defined(BOOST_DINKUMWARE_STDLIB)) \
+    && !defined(__BORLANDC__)
+#  define BOOST_UNORDERED_USE_ALLOCATOR_UTILITIES
+#endif
+
+#if defined(BOOST_UNORDERED_USE_ALLOCATOR_UTILITIES)
+#  include <boost/detail/allocator_utilities.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/eti.hpp>
+
+namespace boost {
+    namespace unordered_detail {
+
+#if defined(BOOST_UNORDERED_USE_ALLOCATOR_UTILITIES)
+        template <class Alloc, class T>
+        struct rebind_wrap : ::boost::detail::allocator::rebind_to<Alloc, T> {};
+#else
+        template <class Alloc, class T>
+        struct rebind_wrap
+        {
+            typedef BOOST_DEDUCED_TYPENAME
+                Alloc::BOOST_NESTED_TEMPLATE rebind<T>::other
+                type;
+        };
+#endif
+
+#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+        template <class T>
+        inline void reset(T& x) { x  = T(); }
+
+        template <class Ptr>
+        inline Ptr null_ptr() { return Ptr(); }
+#else
+        template <class T>
+        inline void reset_impl(T& x, ...) { x  = T(); }
+        template <class T>
+        inline void reset_impl(T*& x, int) { x  = 0; }
+        template <class T>
+        inline void reset(T& x) { reset_impl(x); }
+
+        template <class Ptr>
+        inline Ptr null_ptr() { Ptr x; reset(x); return x; }
+#endif
+
+        // Work around for Microsoft's ETI bug.
+        
+        template <class Allocator> struct allocator_value_type
+        {
+            typedef BOOST_DEDUCED_TYPENAME Allocator::value_type type;
+        };
+
+        template <class Allocator> struct allocator_pointer
+        {
+            typedef BOOST_DEDUCED_TYPENAME Allocator::pointer type;
+        };
+        
+        template <class Allocator> struct allocator_const_pointer
+        {
+            typedef BOOST_DEDUCED_TYPENAME Allocator::const_pointer type;
+        };
+        
+        template <class Allocator> struct allocator_reference
+        {
+            typedef BOOST_DEDUCED_TYPENAME Allocator::reference type;
+        };
+        
+        template <class Allocator> struct allocator_const_reference
+        {
+            typedef BOOST_DEDUCED_TYPENAME Allocator::const_reference type;
+        };
+        
+#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
+
+        template <>
+        struct allocator_value_type<int>
+        {
+            typedef int type;
+        };
+
+        template <>
+        struct allocator_pointer<int>
+        {
+            typedef int type;
+        };
+
+        template <>
+        struct allocator_const_pointer<int>
+        {
+            typedef int type;
+        };
+
+        template <>
+        struct allocator_reference<int>
+        {
+            typedef int type;
+        };
+
+        template <>
+        struct allocator_const_reference<int>
+        {
+            typedef int type;
+        };
+
+#endif
+
+        template <class Allocator>
+        struct allocator_constructor
+        {
+            typedef BOOST_DEDUCED_TYPENAME allocator_value_type<Allocator>::type value_type;
+            typedef BOOST_DEDUCED_TYPENAME allocator_pointer<Allocator>::type pointer;
+
+            Allocator& alloc_;
+            pointer ptr_;
+            bool constructed_;
+
+            allocator_constructor(Allocator& a)
+                : alloc_(a), ptr_(), constructed_(false)
+            {
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+                    unordered_detail::reset(ptr_);
+#endif
+            }
+
+            ~allocator_constructor() {
+                if(ptr_) {
+                    if(constructed_) alloc_.destroy(ptr_);
+                    alloc_.deallocate(ptr_, 1);
+                }
+            }
+
+            template <class V>
+            void construct(V const& v) {
+                BOOST_ASSERT(!ptr_ && !constructed_);
+                ptr_ = alloc_.allocate(1);
+                alloc_.construct(ptr_, value_type(v));
+                constructed_  = true;
+            }
+
+            void construct(value_type const& v) {
+                BOOST_ASSERT(!ptr_ && !constructed_);
+                ptr_ = alloc_.allocate(1);
+                alloc_.construct(ptr_, v);
+                constructed_  = true;
+            }
+
+            pointer get() const
+            {
+                return ptr_;
+            }
+
+            // no throw
+            pointer release()
+            {
+                pointer p = ptr_;
+                constructed_ = false;
+                unordered_detail::reset(ptr_);
+                return p;
+            }
+        };
+
+        template <class Allocator>
+        struct allocator_array_constructor
+        {
+            typedef BOOST_DEDUCED_TYPENAME allocator_pointer<Allocator>::type pointer;
+
+            Allocator& alloc_;
+            pointer ptr_;
+            pointer constructed_;
+            std::size_t length_;
+
+            allocator_array_constructor(Allocator& a)
+                : alloc_(a), ptr_(), constructed_(), length_(0)
+            {
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+                unordered_detail::reset(constructed_);
+                unordered_detail::reset(ptr_);
+#endif
+            }
+
+            ~allocator_array_constructor() {
+                if (ptr_) {
+                    for(pointer p = ptr_; p != constructed_; ++p)
+                        alloc_.destroy(p);
+
+                    alloc_.deallocate(ptr_, length_);
+                }
+            }
+
+            template <class V>
+            void construct(V const& v, std::size_t l)
+            {
+                BOOST_ASSERT(!ptr_);
+                length_ = l;
+                ptr_ = alloc_.allocate(length_);
+                pointer end = ptr_ + static_cast<std::ptrdiff_t>(length_);
+                for(constructed_ = ptr_; constructed_ != end; ++constructed_)
+                    alloc_.construct(constructed_, v);
+            }
+
+            pointer get() const
+            {
+                return ptr_;
+            }
+
+            pointer release()
+            {
+                pointer p(ptr_);
+                unordered_detail::reset(ptr_);
+                return p;
+            }
+        private:
+            allocator_array_constructor(allocator_array_constructor const&);
+            allocator_array_constructor& operator=(allocator_array_constructor const&);
+        };
+    }
+}
+
+#if defined(BOOST_UNORDERED_USE_ALLOCATOR_UTILITIES)
+#  undef BOOST_UNORDERED_USE_ALLOCATOR_UTILITIES
+#endif
+
+#endif

Added: incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/unordered/detail/config.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/unordered/detail/config.hpp?rev=1131945&view=auto
==============================================================================
--- incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/unordered/detail/config.hpp (added)
+++ incubator/mesos/trunk/src/third_party/libprocess/third_party/boost-1.37.0/boost/unordered/detail/config.hpp Sun Jun  5 06:40:23 2011
@@ -0,0 +1,22 @@
+
+// Copyright 2008 Daniel James.
+// 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(BOOST_UNORDERED_DETAIL_CONFIG_HEADER)
+#define BOOST_UNORDERED_DETAIL_CONFIG_HEADER
+
+#include <boost/config.hpp>
+
+#if defined(BOOST_NO_SFINAE)
+#  define BOOST_UNORDERED_NO_HAS_MOVE_ASSIGN
+#elif defined(__GNUC__) && \
+    (__GNUC__ < 3 || __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
+#  define BOOST_UNORDERED_NO_HAS_MOVE_ASSIGN
+#elif BOOST_WORKAROUND(BOOST_INTEL, < 900) || \
+    BOOST_WORKAROUND(__EDG_VERSION__, < 304) || \
+    BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0593))
+#  define BOOST_UNORDERED_NO_HAS_MOVE_ASSIGN
+#endif
+
+#endif