summaryrefslogtreecommitdiff
path: root/src/third_party/boost-1.56.0/boost/mpl/set
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/boost-1.56.0/boost/mpl/set')
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/at_impl.hpp40
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/begin_end_impl.hpp43
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/clear_impl.hpp35
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/empty_impl.hpp34
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/erase_impl.hpp41
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/erase_key_impl.hpp53
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/has_key_impl.hpp60
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/include_preprocessed.hpp42
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/insert_impl.hpp65
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/item.hpp80
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/iterator.hpp98
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/key_type_impl.hpp34
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/numbered.hpp48
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/numbered_c.hpp48
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set10.hpp140
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp145
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set20.hpp168
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp154
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set30.hpp195
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp164
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set40.hpp221
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp174
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set50.hpp250
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp184
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/set0.hpp69
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/size_impl.hpp33
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/tag.hpp24
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/aux_/value_type_impl.hpp34
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set0.hpp35
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set0_c.hpp32
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set10.hpp44
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set10_c.hpp45
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set20.hpp44
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set20_c.hpp45
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set30.hpp44
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set30_c.hpp45
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set40.hpp44
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set40_c.hpp45
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set50.hpp44
-rw-r--r--src/third_party/boost-1.56.0/boost/mpl/set/set50_c.hpp45
40 files changed, 3188 insertions, 0 deletions
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/at_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/at_impl.hpp
new file mode 100644
index 00000000000..89119c4a599
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/at_impl.hpp
@@ -0,0 +1,40 @@
+
+#ifndef BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/at_fwd.hpp>
+#include <boost/mpl/set/aux_/has_key_impl.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/void.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct at_impl< aux::set_tag >
+{
+ template< typename Set, typename T > struct apply
+ {
+ typedef typename if_<
+ has_key_impl<aux::set_tag>::apply<Set,T>
+ , T
+ , void_
+ >::type type;
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/begin_end_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/begin_end_impl.hpp
new file mode 100644
index 00000000000..2595280532d
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/begin_end_impl.hpp
@@ -0,0 +1,43 @@
+
+#ifndef BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2007
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/begin_end_fwd.hpp>
+#include <boost/mpl/set/aux_/iterator.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct begin_impl< aux::set_tag >
+{
+ template< typename Set > struct apply
+ : s_iter_get<Set,typename Set::item_>
+ {
+ };
+};
+
+template<>
+struct end_impl< aux::set_tag >
+{
+ template< typename Set > struct apply
+ {
+ typedef s_iter< Set,set0<> > type;
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/clear_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/clear_impl.hpp
new file mode 100644
index 00000000000..9c6c76030a6
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/clear_impl.hpp
@@ -0,0 +1,35 @@
+
+#ifndef BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/clear_fwd.hpp>
+#include <boost/mpl/set/aux_/set0.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct clear_impl< aux::set_tag >
+{
+ template< typename Set > struct apply
+ {
+ typedef set0<> type;
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/empty_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/empty_impl.hpp
new file mode 100644
index 00000000000..997ff023a25
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/empty_impl.hpp
@@ -0,0 +1,34 @@
+
+#ifndef BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/empty_fwd.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct empty_impl< aux::set_tag >
+{
+ template< typename Set > struct apply
+ : not_< typename Set::size >
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/erase_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/erase_impl.hpp
new file mode 100644
index 00000000000..c4a95b4a85a
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/erase_impl.hpp
@@ -0,0 +1,41 @@
+
+#ifndef BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/erase_fwd.hpp>
+#include <boost/mpl/set/aux_/erase_key_impl.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct erase_impl< aux::set_tag >
+{
+ template<
+ typename Set
+ , typename Pos
+ , typename unused_
+ >
+ struct apply
+ : erase_key_impl<aux::set_tag>
+ ::apply<Set,typename Pos::type>
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/erase_key_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/erase_key_impl.hpp
new file mode 100644
index 00000000000..f945d4fb3da
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/erase_key_impl.hpp
@@ -0,0 +1,53 @@
+
+#ifndef BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2007
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/erase_key_fwd.hpp>
+#include <boost/mpl/set/aux_/has_key_impl.hpp>
+#include <boost/mpl/set/aux_/item.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/base.hpp>
+#include <boost/mpl/eval_if.hpp>
+
+#include <boost/type_traits/is_same.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct erase_key_impl< aux::set_tag >
+{
+ template<
+ typename Set
+ , typename T
+ >
+ struct apply
+ : eval_if<
+ has_key_impl<aux::set_tag>::apply<Set,T>
+ , eval_if<
+ is_same< T,typename Set::item_type_ >
+ , base<Set>
+ , identity< s_mask<T,typename Set::item_> >
+ >
+ , identity<Set>
+ >
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/has_key_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/has_key_impl.hpp
new file mode 100644
index 00000000000..bdc3273181f
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/has_key_impl.hpp
@@ -0,0 +1,60 @@
+
+#ifndef BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/set/aux_/tag.hpp>
+#include <boost/mpl/has_key_fwd.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/aux_/overload_names.hpp>
+#include <boost/mpl/aux_/static_cast.hpp>
+#include <boost/mpl/aux_/yes_no.hpp>
+#include <boost/mpl/aux_/type_wrapper.hpp>
+#include <boost/mpl/aux_/config/workaround.hpp>
+#include <boost/mpl/aux_/config/static_constant.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct has_key_impl< aux::set_tag >
+{
+ template< typename Set, typename T > struct apply
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
+ || BOOST_WORKAROUND(__EDG_VERSION__, <= 245)
+ {
+ BOOST_STATIC_CONSTANT(bool, value =
+ ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(
+ Set
+ , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*, 0)
+ ) ) == sizeof(aux::no_tag) )
+ );
+
+ typedef bool_<value> type;
+
+#else // ISO98 C++
+ : bool_<
+ ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(
+ Set
+ , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*, 0)
+ ) ) == sizeof(aux::no_tag) )
+ >
+ {
+#endif
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/include_preprocessed.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/include_preprocessed.hpp
new file mode 100644
index 00000000000..ffeb9c6b0c9
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/include_preprocessed.hpp
@@ -0,0 +1,42 @@
+
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
+
+// Copyright Aleksey Gurtovoy 2001-2006
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/aux_/config/preprocessor.hpp>
+#include <boost/mpl/aux_/config/workaround.hpp>
+
+#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/stringize.hpp>
+
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
+# define AUX778076_HEADER \
+ plain/BOOST_MPL_PREPROCESSED_HEADER \
+/**/
+#else
+# define AUX778076_HEADER \
+ BOOST_PP_CAT(plain,/)##BOOST_MPL_PREPROCESSED_HEADER \
+/**/
+#endif
+
+#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
+# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/set/aux_/preprocessed/AUX778076_HEADER)
+# include AUX778076_INCLUDE_STRING
+# undef AUX778076_INCLUDE_STRING
+#else
+# include BOOST_PP_STRINGIZE(boost/mpl/set/aux_/preprocessed/AUX778076_HEADER)
+#endif
+
+# undef AUX778076_HEADER
+
+#undef BOOST_MPL_PREPROCESSED_HEADER
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/insert_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/insert_impl.hpp
new file mode 100644
index 00000000000..ff180acaa86
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/insert_impl.hpp
@@ -0,0 +1,65 @@
+
+#ifndef BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2007
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/insert_fwd.hpp>
+#include <boost/mpl/set/aux_/has_key_impl.hpp>
+#include <boost/mpl/set/aux_/item.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/base.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/aux_/na.hpp>
+
+#include <boost/type_traits/is_same.hpp>
+
+namespace boost { namespace mpl {
+
+namespace aux {
+template< typename Set, typename T > struct set_insert_impl
+ : eval_if<
+ has_key_impl<aux::set_tag>::apply<Set,T>
+ , identity<Set>
+ , eval_if<
+ is_same< T,typename Set::last_masked_ >
+ , base<Set>
+ , identity< s_item<T,typename Set::item_> >
+ >
+ >
+{
+};
+}
+
+template<>
+struct insert_impl< aux::set_tag >
+{
+ template<
+ typename Set
+ , typename PosOrKey
+ , typename KeyOrNA
+ >
+ struct apply
+ : aux::set_insert_impl<
+ Set
+ , typename if_na<KeyOrNA,PosOrKey>::type
+ >
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/item.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/item.hpp
new file mode 100644
index 00000000000..e90e4900f6d
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/item.hpp
@@ -0,0 +1,80 @@
+
+#ifndef BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2007
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/long.hpp>
+#include <boost/mpl/void.hpp>
+#include <boost/mpl/next.hpp>
+#include <boost/mpl/prior.hpp>
+#include <boost/mpl/set/aux_/set0.hpp>
+#include <boost/mpl/aux_/type_wrapper.hpp>
+#include <boost/mpl/aux_/config/arrays.hpp>
+
+namespace boost { namespace mpl {
+
+template< typename T, typename Base >
+struct s_item
+ : Base
+{
+ typedef s_item<T,Base> item_;
+ typedef void_ last_masked_;
+ typedef T item_type_;
+ typedef typename Base::item_ base;
+
+ typedef typename next< typename Base::size >::type size;
+ typedef typename next< typename Base::order >::type order;
+
+#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
+ typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value>::type order_tag_;
+#else
+ typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value];
+#endif
+
+ BOOST_MPL_AUX_SET_OVERLOAD( order_tag_, ORDER_BY_KEY, s_item, aux::type_wrapper<T>* );
+ BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_item, aux::type_wrapper<T>* );
+};
+
+
+template< typename T, typename Base >
+struct s_mask
+ : Base
+{
+ typedef s_mask<T,Base> item_;
+ typedef T last_masked_;
+ typedef void_ item_type_;
+ typedef typename Base::item_ base;
+ typedef typename prior< typename Base::size >::type size;
+
+ BOOST_MPL_AUX_SET_OVERLOAD( aux::yes_tag, IS_MASKED, s_mask, aux::type_wrapper<T>* );
+};
+
+
+template< typename T, typename Base >
+struct s_unmask
+ : Base
+{
+ typedef s_unmask<T,Base> item_;
+ typedef void_ last_masked_;
+ typedef T item_type_;
+ typedef typename Base::item_ base;
+ typedef typename next< typename Base::size >::type size;
+
+ BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_unmask, aux::type_wrapper<T>* );
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/iterator.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/iterator.hpp
new file mode 100644
index 00000000000..9a58a25f2ee
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/iterator.hpp
@@ -0,0 +1,98 @@
+
+#ifndef BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2007
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/set/aux_/set0.hpp>
+#include <boost/mpl/has_key.hpp>
+#include <boost/mpl/iterator_tags.hpp>
+#include <boost/mpl/next.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/aux_/config/ctps.hpp>
+
+namespace boost { namespace mpl {
+
+// used by 's_iter_get'
+template< typename Set, typename Tail > struct s_iter;
+
+template< typename Set, typename Tail > struct s_iter_get
+ : eval_if<
+ has_key< Set,typename Tail::item_type_ >
+ , identity< s_iter<Set,Tail> >
+ , next< s_iter<Set,Tail> >
+ >
+{
+};
+
+template< typename Set, typename Tail > struct s_iter_impl
+{
+ typedef Tail tail_;
+ typedef forward_iterator_tag category;
+ typedef typename Tail::item_type_ type;
+
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+ typedef typename s_iter_get< Set,typename Tail::base >::type next;
+#endif
+};
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+
+template< typename Set, typename Tail >
+struct next< s_iter<Set,Tail> >
+ : s_iter_get< Set,typename Tail::base >
+{
+};
+
+template< typename Set >
+struct next< s_iter<Set,set0<> > >
+{
+ typedef s_iter<Set,set0<> > type;
+};
+
+template< typename Set, typename Tail > struct s_iter
+ : s_iter_impl<Set,Tail>
+{
+};
+
+template< typename Set > struct s_iter<Set, set0<> >
+{
+ typedef forward_iterator_tag category;
+};
+
+#else
+
+template< typename Set >
+struct s_end_iter
+{
+ typedef forward_iterator_tag category;
+ typedef s_iter<Set,set0<> > next;
+};
+
+template< typename Set, typename Tail > struct s_iter
+ : if_<
+ is_same< Tail,set0<> >
+ , s_end_iter<Set>
+ , s_iter_impl<Set,Tail>
+ >::type
+{
+};
+
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/key_type_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/key_type_impl.hpp
new file mode 100644
index 00000000000..8e8a0905447
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/key_type_impl.hpp
@@ -0,0 +1,34 @@
+
+#ifndef BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/key_type_fwd.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct key_type_impl< aux::set_tag >
+{
+ template< typename Set, typename T > struct apply
+ {
+ typedef T type;
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/numbered.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/numbered.hpp
new file mode 100644
index 00000000000..edd839d8ab2
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/numbered.hpp
@@ -0,0 +1,48 @@
+
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
+
+#if defined(BOOST_PP_IS_ITERATING)
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/preprocessor/enum_params.hpp>
+#include <boost/preprocessor/dec.hpp>
+#include <boost/preprocessor/cat.hpp>
+
+#define i_ BOOST_PP_FRAME_ITERATION(1)
+
+# define AUX778076_SET_TAIL(set, i_, T) \
+ typename BOOST_PP_CAT(set,i_)< \
+ BOOST_PP_ENUM_PARAMS(i_, T) \
+ >::item_ \
+ /**/
+
+#if i_ > 0
+template<
+ BOOST_PP_ENUM_PARAMS(i_, typename T)
+ >
+struct BOOST_PP_CAT(set,i_)
+ : s_item<
+ BOOST_PP_CAT(T,BOOST_PP_DEC(i_))
+ , AUX778076_SET_TAIL(set,BOOST_PP_DEC(i_),T)
+ >
+{
+ typedef BOOST_PP_CAT(set,i_) type;
+};
+#endif
+
+# undef AUX778076_SET_TAIL
+
+#undef i_
+
+#endif // BOOST_PP_IS_ITERATING
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/numbered_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/numbered_c.hpp
new file mode 100644
index 00000000000..130cf5d70e1
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/numbered_c.hpp
@@ -0,0 +1,48 @@
+
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
+
+#if defined(BOOST_PP_IS_ITERATING)
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/preprocessor/repetition/enum_params.hpp>
+#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
+#include <boost/preprocessor/dec.hpp>
+#include <boost/preprocessor/cat.hpp>
+
+#define i_ BOOST_PP_FRAME_ITERATION(1)
+
+# define AUX778076_SET_C_TAIL(set, i_, T, C) \
+ BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)< \
+ T BOOST_PP_ENUM_TRAILING_PARAMS(i_, C) \
+ > \
+ /**/
+
+template<
+ typename T
+ , BOOST_PP_ENUM_PARAMS(i_, T C)
+ >
+struct BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)
+ : s_item<
+ integral_c<T,BOOST_PP_CAT(C,BOOST_PP_DEC(i_))>
+ , AUX778076_SET_C_TAIL(set,BOOST_PP_DEC(i_), T, C)
+ >
+{
+ typedef BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c) type;
+};
+
+# undef AUX778076_SET_C_TAIL
+
+#undef i_
+
+#endif // BOOST_PP_IS_ITERATING
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set10.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set10.hpp
new file mode 100644
index 00000000000..2c42b383981
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set10.hpp
@@ -0,0 +1,140 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// 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)
+//
+
+// Preprocessed version of "boost/mpl/set/set10.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T0
+ >
+struct set1
+ : s_item<
+ T0
+ , typename set0< >::item_
+ >
+{
+ typedef set1 type;
+};
+
+template<
+ typename T0, typename T1
+ >
+struct set2
+ : s_item<
+ T1
+ , typename set1<T0>::item_
+ >
+{
+ typedef set2 type;
+};
+
+template<
+ typename T0, typename T1, typename T2
+ >
+struct set3
+ : s_item<
+ T2
+ , typename set2< T0,T1 >::item_
+ >
+{
+ typedef set3 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3
+ >
+struct set4
+ : s_item<
+ T3
+ , typename set3< T0,T1,T2 >::item_
+ >
+{
+ typedef set4 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ >
+struct set5
+ : s_item<
+ T4
+ , typename set4< T0,T1,T2,T3 >::item_
+ >
+{
+ typedef set5 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5
+ >
+struct set6
+ : s_item<
+ T5
+ , typename set5< T0,T1,T2,T3,T4 >::item_
+ >
+{
+ typedef set6 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6
+ >
+struct set7
+ : s_item<
+ T6
+ , typename set6< T0,T1,T2,T3,T4,T5 >::item_
+ >
+{
+ typedef set7 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7
+ >
+struct set8
+ : s_item<
+ T7
+ , typename set7< T0,T1,T2,T3,T4,T5,T6 >::item_
+ >
+{
+ typedef set8 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8
+ >
+struct set9
+ : s_item<
+ T8
+ , typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::item_
+ >
+{
+ typedef set9 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ >
+struct set10
+ : s_item<
+ T9
+ , typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::item_
+ >
+{
+ typedef set10 type;
+};
+
+}}
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp
new file mode 100644
index 00000000000..e9bdb29eb82
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp
@@ -0,0 +1,145 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// 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)
+//
+
+// Preprocessed version of "boost/mpl/set/set10_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T
+ , T C0
+ >
+struct set1_c
+ : s_item<
+ integral_c< T,C0 >
+ , set0_c<T>
+ >
+{
+ typedef set1_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1
+ >
+struct set2_c
+ : s_item<
+ integral_c< T,C1 >
+ , set1_c< T,C0 >
+ >
+{
+ typedef set2_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2
+ >
+struct set3_c
+ : s_item<
+ integral_c< T,C2 >
+ , set2_c< T,C0,C1 >
+ >
+{
+ typedef set3_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3
+ >
+struct set4_c
+ : s_item<
+ integral_c< T,C3 >
+ , set3_c< T,C0,C1,C2 >
+ >
+{
+ typedef set4_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4
+ >
+struct set5_c
+ : s_item<
+ integral_c< T,C4 >
+ , set4_c< T,C0,C1,C2,C3 >
+ >
+{
+ typedef set5_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5
+ >
+struct set6_c
+ : s_item<
+ integral_c< T,C5 >
+ , set5_c< T,C0,C1,C2,C3,C4 >
+ >
+{
+ typedef set6_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6
+ >
+struct set7_c
+ : s_item<
+ integral_c< T,C6 >
+ , set6_c< T,C0,C1,C2,C3,C4,C5 >
+ >
+{
+ typedef set7_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
+ >
+struct set8_c
+ : s_item<
+ integral_c< T,C7 >
+ , set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
+ >
+{
+ typedef set8_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
+ >
+struct set9_c
+ : s_item<
+ integral_c< T,C8 >
+ , set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
+ >
+{
+ typedef set9_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
+ >
+struct set10_c
+ : s_item<
+ integral_c< T,C9 >
+ , set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
+ >
+{
+ typedef set10_c type;
+};
+
+}}
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set20.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set20.hpp
new file mode 100644
index 00000000000..cb4e4666888
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set20.hpp
@@ -0,0 +1,168 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// 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)
+//
+
+// Preprocessed version of "boost/mpl/set/set20.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10
+ >
+struct set11
+ : s_item<
+ T10
+ , typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::item_
+ >
+{
+ typedef set11 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11
+ >
+struct set12
+ : s_item<
+ T11
+ , typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::item_
+ >
+{
+ typedef set12 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12
+ >
+struct set13
+ : s_item<
+ T12
+ , typename set12< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
+ , T11 >::item_
+ >
+{
+ typedef set13 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13
+ >
+struct set14
+ : s_item<
+ T13
+ , typename set13< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12 >::item_
+ >
+{
+ typedef set14 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ >
+struct set15
+ : s_item<
+ T14
+ , typename set14< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13 >::item_
+ >
+{
+ typedef set15 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15
+ >
+struct set16
+ : s_item<
+ T15
+ , typename set15< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14 >::item_
+ >
+{
+ typedef set16 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16
+ >
+struct set17
+ : s_item<
+ T16
+ , typename set16< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15 >::item_
+ >
+{
+ typedef set17 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17
+ >
+struct set18
+ : s_item<
+ T17
+ , typename set17< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16 >::item_
+ >
+{
+ typedef set18 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18
+ >
+struct set19
+ : s_item<
+ T18
+ , typename set18< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17 >::item_
+ >
+{
+ typedef set19 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ >
+struct set20
+ : s_item<
+ T19
+ , typename set19< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18 >::item_
+ >
+{
+ typedef set20 type;
+};
+
+}}
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp
new file mode 100644
index 00000000000..445b5467ca3
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp
@@ -0,0 +1,154 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// 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)
+//
+
+// Preprocessed version of "boost/mpl/set/set20_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ >
+struct set11_c
+ : s_item<
+ integral_c< T,C10 >
+ , set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
+ >
+{
+ typedef set11_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11
+ >
+struct set12_c
+ : s_item<
+ integral_c< T,C11 >
+ , set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
+ >
+{
+ typedef set12_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12
+ >
+struct set13_c
+ : s_item<
+ integral_c< T,C12 >
+ , set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
+ >
+{
+ typedef set13_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13
+ >
+struct set14_c
+ : s_item<
+ integral_c< T,C13 >
+ , set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
+ >
+{
+ typedef set14_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14
+ >
+struct set15_c
+ : s_item<
+ integral_c< T,C14 >
+ , set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >
+ >
+{
+ typedef set15_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15
+ >
+struct set16_c
+ : s_item<
+ integral_c< T,C15 >
+ , set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >
+ >
+{
+ typedef set16_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16
+ >
+struct set17_c
+ : s_item<
+ integral_c< T,C16 >
+ , set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >
+ >
+{
+ typedef set17_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17
+ >
+struct set18_c
+ : s_item<
+ integral_c< T,C17 >
+ , set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >
+ >
+{
+ typedef set18_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
+ >
+struct set19_c
+ : s_item<
+ integral_c< T,C18 >
+ , set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >
+ >
+{
+ typedef set19_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
+ >
+struct set20_c
+ : s_item<
+ integral_c< T,C19 >
+ , set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >
+ >
+{
+ typedef set20_c type;
+};
+
+}}
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set30.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set30.hpp
new file mode 100644
index 00000000000..08f2cda27ac
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set30.hpp
@@ -0,0 +1,195 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// 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)
+//
+
+// Preprocessed version of "boost/mpl/set/set30.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20
+ >
+struct set21
+ : s_item<
+ T20
+ , typename set20< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19 >::item_
+ >
+{
+ typedef set21 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21
+ >
+struct set22
+ : s_item<
+ T21
+ , typename set21< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20 >::item_
+ >
+{
+ typedef set22 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22
+ >
+struct set23
+ : s_item<
+ T22
+ , typename set22< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 >::item_
+ >
+{
+ typedef set23 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23
+ >
+struct set24
+ : s_item<
+ T23
+ , typename set23< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 >::item_
+ >
+{
+ typedef set24 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ >
+struct set25
+ : s_item<
+ T24
+ , typename set24< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 >::item_
+ >
+{
+ typedef set25 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25
+ >
+struct set26
+ : s_item<
+ T25
+ , typename set25< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23
+ , T24 >::item_
+ >
+{
+ typedef set26 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26
+ >
+struct set27
+ : s_item<
+ T26
+ , typename set26< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24
+ , T25 >::item_
+ >
+{
+ typedef set27 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27
+ >
+struct set28
+ : s_item<
+ T27
+ , typename set27< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26 >::item_
+ >
+{
+ typedef set28 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28
+ >
+struct set29
+ : s_item<
+ T28
+ , typename set28< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27 >::item_
+ >
+{
+ typedef set29 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ >
+struct set30
+ : s_item<
+ T29
+ , typename set29< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28 >::item_
+ >
+{
+ typedef set30 type;
+};
+
+}}
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp
new file mode 100644
index 00000000000..7c0150ca396
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp
@@ -0,0 +1,164 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// 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)
+//
+
+// Preprocessed version of "boost/mpl/set/set30_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ >
+struct set21_c
+ : s_item<
+ integral_c< T,C20 >
+ , set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >
+ >
+{
+ typedef set21_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21
+ >
+struct set22_c
+ : s_item<
+ integral_c< T,C21 >
+ , set21_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 >
+ >
+{
+ typedef set22_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22
+ >
+struct set23_c
+ : s_item<
+ integral_c< T,C22 >
+ , set22_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 >
+ >
+{
+ typedef set23_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23
+ >
+struct set24_c
+ : s_item<
+ integral_c< T,C23 >
+ , set23_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22 >
+ >
+{
+ typedef set24_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24
+ >
+struct set25_c
+ : s_item<
+ integral_c< T,C24 >
+ , set24_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 >
+ >
+{
+ typedef set25_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25
+ >
+struct set26_c
+ : s_item<
+ integral_c< T,C25 >
+ , set25_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24 >
+ >
+{
+ typedef set26_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26
+ >
+struct set27_c
+ : s_item<
+ integral_c< T,C26 >
+ , set26_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25 >
+ >
+{
+ typedef set27_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27
+ >
+struct set28_c
+ : s_item<
+ integral_c< T,C27 >
+ , set27_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26 >
+ >
+{
+ typedef set28_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
+ >
+struct set29_c
+ : s_item<
+ integral_c< T,C28 >
+ , set28_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27 >
+ >
+{
+ typedef set29_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
+ >
+struct set30_c
+ : s_item<
+ integral_c< T,C29 >
+ , set29_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28 >
+ >
+{
+ typedef set30_c type;
+};
+
+}}
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set40.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set40.hpp
new file mode 100644
index 00000000000..a8571a61fe6
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set40.hpp
@@ -0,0 +1,221 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// 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)
+//
+
+// Preprocessed version of "boost/mpl/set/set40.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30
+ >
+struct set31
+ : s_item<
+ T30
+ , typename set30< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29 >::item_
+ >
+{
+ typedef set31 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31
+ >
+struct set32
+ : s_item<
+ T31
+ , typename set31< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30 >::item_
+ >
+{
+ typedef set32 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32
+ >
+struct set33
+ : s_item<
+ T32
+ , typename set32< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31 >::item_
+ >
+{
+ typedef set33 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33
+ >
+struct set34
+ : s_item<
+ T33
+ , typename set33< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32 >::item_
+ >
+{
+ typedef set34 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ >
+struct set35
+ : s_item<
+ T34
+ , typename set34< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33 >::item_
+ >
+{
+ typedef set35 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35
+ >
+struct set36
+ : s_item<
+ T35
+ , typename set35< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34 >::item_
+ >
+{
+ typedef set36 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36
+ >
+struct set37
+ : s_item<
+ T36
+ , typename set36< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35 >::item_
+ >
+{
+ typedef set37 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37
+ >
+struct set38
+ : s_item<
+ T37
+ , typename set37< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36 >::item_
+ >
+{
+ typedef set38 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38
+ >
+struct set39
+ : s_item<
+ T38
+ , typename set38< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37 >::item_
+ >
+{
+ typedef set39 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ >
+struct set40
+ : s_item<
+ T39
+ , typename set39< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37
+ , T38 >::item_
+ >
+{
+ typedef set40 type;
+};
+
+}}
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp
new file mode 100644
index 00000000000..0b0e49cdd9f
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp
@@ -0,0 +1,174 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// 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)
+//
+
+// Preprocessed version of "boost/mpl/set/set40_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ >
+struct set31_c
+ : s_item<
+ integral_c< T,C30 >
+ , set30_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29 >
+ >
+{
+ typedef set31_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31
+ >
+struct set32_c
+ : s_item<
+ integral_c< T,C31 >
+ , set31_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30 >
+ >
+{
+ typedef set32_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32
+ >
+struct set33_c
+ : s_item<
+ integral_c< T,C32 >
+ , set32_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31 >
+ >
+{
+ typedef set33_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33
+ >
+struct set34_c
+ : s_item<
+ integral_c< T,C33 >
+ , set33_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32 >
+ >
+{
+ typedef set34_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34
+ >
+struct set35_c
+ : s_item<
+ integral_c< T,C34 >
+ , set34_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33 >
+ >
+{
+ typedef set35_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35
+ >
+struct set36_c
+ : s_item<
+ integral_c< T,C35 >
+ , set35_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34 >
+ >
+{
+ typedef set36_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36
+ >
+struct set37_c
+ : s_item<
+ integral_c< T,C36 >
+ , set36_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35 >
+ >
+{
+ typedef set37_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37
+ >
+struct set38_c
+ : s_item<
+ integral_c< T,C37 >
+ , set37_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36 >
+ >
+{
+ typedef set38_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
+ >
+struct set39_c
+ : s_item<
+ integral_c< T,C38 >
+ , set38_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37 >
+ >
+{
+ typedef set39_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
+ >
+struct set40_c
+ : s_item<
+ integral_c< T,C39 >
+ , set39_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38 >
+ >
+{
+ typedef set40_c type;
+};
+
+}}
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set50.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set50.hpp
new file mode 100644
index 00000000000..79798ab49c8
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set50.hpp
@@ -0,0 +1,250 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// 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)
+//
+
+// Preprocessed version of "boost/mpl/set/set50.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40
+ >
+struct set41
+ : s_item<
+ T40
+ , typename set40< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38
+ , T39 >::item_
+ >
+{
+ typedef set41 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41
+ >
+struct set42
+ : s_item<
+ T41
+ , typename set41< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
+ , T40 >::item_
+ >
+{
+ typedef set42 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42
+ >
+struct set43
+ : s_item<
+ T42
+ , typename set42< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
+ , T40, T41 >::item_
+ >
+{
+ typedef set43 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43
+ >
+struct set44
+ : s_item<
+ T43
+ , typename set43< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
+ , T40, T41, T42 >::item_
+ >
+{
+ typedef set44 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ >
+struct set45
+ : s_item<
+ T44
+ , typename set44< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
+ , T40, T41, T42, T43 >::item_
+ >
+{
+ typedef set45 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ , typename T45
+ >
+struct set46
+ : s_item<
+ T45
+ , typename set45< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
+ , T40, T41, T42, T43, T44 >::item_
+ >
+{
+ typedef set46 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ , typename T45, typename T46
+ >
+struct set47
+ : s_item<
+ T46
+ , typename set46< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
+ , T40, T41, T42, T43, T44, T45 >::item_
+ >
+{
+ typedef set47 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ , typename T45, typename T46, typename T47
+ >
+struct set48
+ : s_item<
+ T47
+ , typename set47< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
+ , T40, T41, T42, T43, T44, T45, T46 >::item_
+ >
+{
+ typedef set48 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ , typename T45, typename T46, typename T47, typename T48
+ >
+struct set49
+ : s_item<
+ T48
+ , typename set48< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
+ , T40, T41, T42, T43, T44, T45, T46, T47 >::item_
+ >
+{
+ typedef set49 type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ , typename T45, typename T46, typename T47, typename T48, typename T49
+ >
+struct set50
+ : s_item<
+ T49
+ , typename set49< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
+ , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
+ , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
+ , T40, T41, T42, T43, T44, T45, T46, T47, T48 >::item_
+ >
+{
+ typedef set50 type;
+};
+
+}}
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp
new file mode 100644
index 00000000000..83627fa13da
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp
@@ -0,0 +1,184 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// 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)
+//
+
+// Preprocessed version of "boost/mpl/set/set50_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ >
+struct set41_c
+ : s_item<
+ integral_c< T,C40 >
+ , set40_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39 >
+ >
+{
+ typedef set41_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41
+ >
+struct set42_c
+ : s_item<
+ integral_c< T,C41 >
+ , set41_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40 >
+ >
+{
+ typedef set42_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42
+ >
+struct set43_c
+ : s_item<
+ integral_c< T,C42 >
+ , set42_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41 >
+ >
+{
+ typedef set43_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43
+ >
+struct set44_c
+ : s_item<
+ integral_c< T,C43 >
+ , set43_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42 >
+ >
+{
+ typedef set44_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44
+ >
+struct set45_c
+ : s_item<
+ integral_c< T,C44 >
+ , set44_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43 >
+ >
+{
+ typedef set45_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44, T C45
+ >
+struct set46_c
+ : s_item<
+ integral_c< T,C45 >
+ , set45_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44 >
+ >
+{
+ typedef set46_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44, T C45, T C46
+ >
+struct set47_c
+ : s_item<
+ integral_c< T,C46 >
+ , set46_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45 >
+ >
+{
+ typedef set47_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44, T C45, T C46, T C47
+ >
+struct set48_c
+ : s_item<
+ integral_c< T,C47 >
+ , set47_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46 >
+ >
+{
+ typedef set48_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
+ >
+struct set49_c
+ : s_item<
+ integral_c< T,C48 >
+ , set48_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47 >
+ >
+{
+ typedef set49_c type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
+ >
+struct set50_c
+ : s_item<
+ integral_c< T,C49 >
+ , set49_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48 >
+ >
+{
+ typedef set50_c type;
+};
+
+}}
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/set0.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/set0.hpp
new file mode 100644
index 00000000000..65f52a8170b
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/set0.hpp
@@ -0,0 +1,69 @@
+
+#ifndef BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/long.hpp>
+#include <boost/mpl/void.hpp>
+#include <boost/mpl/aux_/na.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+#include <boost/mpl/aux_/yes_no.hpp>
+#include <boost/mpl/aux_/overload_names.hpp>
+#include <boost/mpl/aux_/config/operators.hpp>
+
+#include <boost/preprocessor/cat.hpp>
+
+namespace boost { namespace mpl {
+
+#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING)
+
+# define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
+ friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
+/**/
+
+# define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \
+ BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
+/**/
+
+#else
+
+# define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
+ static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
+/**/
+
+# define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \
+ BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T); \
+ using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \
+/**/
+
+#endif
+
+template< typename Dummy = na > struct set0
+{
+ typedef set0<> item_;
+ typedef item_ type;
+ typedef aux::set_tag tag;
+ typedef void_ last_masked_;
+ typedef void_ item_type_;
+ typedef long_<0> size;
+ typedef long_<1> order;
+
+ BOOST_MPL_AUX_SET0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, set0<>, void const volatile* );
+ BOOST_MPL_AUX_SET0_OVERLOAD( aux::yes_tag, IS_MASKED, set0<>, void const volatile* );
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/size_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/size_impl.hpp
new file mode 100644
index 00000000000..e865596698b
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/size_impl.hpp
@@ -0,0 +1,33 @@
+
+#ifndef BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/size_fwd.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct size_impl< aux::set_tag >
+{
+ template< typename Set > struct apply
+ : Set::size
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/tag.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/tag.hpp
new file mode 100644
index 00000000000..f11fc2bbebb
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/tag.hpp
@@ -0,0 +1,24 @@
+
+#ifndef BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+namespace boost { namespace mpl { namespace aux {
+
+struct set_tag;
+
+}}}
+
+#endif // BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/aux_/value_type_impl.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/value_type_impl.hpp
new file mode 100644
index 00000000000..91cf0d00cf8
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/aux_/value_type_impl.hpp
@@ -0,0 +1,34 @@
+
+#ifndef BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
+#define BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/value_type_fwd.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct value_type_impl< aux::set_tag >
+{
+ template< typename Set, typename T > struct apply
+ {
+ typedef T type;
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set0.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set0.hpp
new file mode 100644
index 00000000000..8403731040f
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set0.hpp
@@ -0,0 +1,35 @@
+
+#ifndef BOOST_MPL_SET_SET0_HPP_INCLUDED
+#define BOOST_MPL_SET_SET0_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/set/aux_/at_impl.hpp>
+#include <boost/mpl/set/aux_/clear_impl.hpp>
+//#include <boost/mpl/set/aux_/O1_size.hpp>
+#include <boost/mpl/set/aux_/size_impl.hpp>
+#include <boost/mpl/set/aux_/empty_impl.hpp>
+#include <boost/mpl/set/aux_/insert_impl.hpp>
+#include <boost/mpl/set/aux_/erase_impl.hpp>
+#include <boost/mpl/set/aux_/erase_key_impl.hpp>
+#include <boost/mpl/set/aux_/has_key_impl.hpp>
+#include <boost/mpl/set/aux_/key_type_impl.hpp>
+#include <boost/mpl/set/aux_/value_type_impl.hpp>
+#include <boost/mpl/set/aux_/begin_end_impl.hpp>
+#include <boost/mpl/set/aux_/iterator.hpp>
+#include <boost/mpl/set/aux_/item.hpp>
+#include <boost/mpl/set/aux_/set0.hpp>
+#include <boost/mpl/set/aux_/tag.hpp>
+
+#endif // BOOST_MPL_SET_SET0_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set0_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set0_c.hpp
new file mode 100644
index 00000000000..7e7f77a960d
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set0_c.hpp
@@ -0,0 +1,32 @@
+
+#ifndef BOOST_MPL_SET_SET0_C_HPP_INCLUDED
+#define BOOST_MPL_SET_SET0_C_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2003-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#include <boost/mpl/set/set0.hpp>
+#include <boost/mpl/integral_c.hpp>
+
+namespace boost { namespace mpl {
+
+template< typename T > struct set0_c
+ : set0<>
+{
+ typedef set0_c type;
+ typedef T value_type;
+};
+
+}}
+
+#endif // BOOST_MPL_SET_SET0_C_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set10.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set10.hpp
new file mode 100644
index 00000000000..fa876b25ed3
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set10.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_SET_SET10_HPP_INCLUDED
+#define BOOST_MPL_SET_SET10_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/set/set0.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>
+
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)
+
+# define BOOST_MPL_PREPROCESSED_HEADER set10.hpp
+# include <boost/mpl/set/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/preprocessor/iterate.hpp>
+
+namespace boost { namespace mpl {
+
+# define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(0, 10, <boost/mpl/set/aux_/numbered.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_SET_SET10_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set10_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set10_c.hpp
new file mode 100644
index 00000000000..34abd98406e
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set10_c.hpp
@@ -0,0 +1,45 @@
+
+#ifndef BOOST_MPL_SET_SET10_C_HPP_INCLUDED
+#define BOOST_MPL_SET_SET10_C_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/set/set0_c.hpp>
+# include <boost/mpl/set/set10.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>
+
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)
+
+# define BOOST_MPL_PREPROCESSED_HEADER set10_c.hpp
+# include <boost/mpl/set/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/preprocessor/iterate.hpp>
+
+namespace boost { namespace mpl {
+
+# define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(1, 10, <boost/mpl/set/aux_/numbered_c.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_SET_SET10_C_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set20.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set20.hpp
new file mode 100644
index 00000000000..0cdff4780df
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set20.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_SET_SET20_HPP_INCLUDED
+#define BOOST_MPL_SET_SET20_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/set/set10.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>
+
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)
+
+# define BOOST_MPL_PREPROCESSED_HEADER set20.hpp
+# include <boost/mpl/set/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/preprocessor/iterate.hpp>
+
+namespace boost { namespace mpl {
+
+# define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(11, 20, <boost/mpl/set/aux_/numbered.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_SET_SET20_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set20_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set20_c.hpp
new file mode 100644
index 00000000000..e3de0447e55
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set20_c.hpp
@@ -0,0 +1,45 @@
+
+#ifndef BOOST_MPL_SET_SET20_C_HPP_INCLUDED
+#define BOOST_MPL_SET_SET20_C_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/set/set10_c.hpp>
+# include <boost/mpl/set/set20.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>
+
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)
+
+# define BOOST_MPL_PREPROCESSED_HEADER set20_c.hpp
+# include <boost/mpl/set/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/preprocessor/iterate.hpp>
+
+namespace boost { namespace mpl {
+
+# define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(11, 20, <boost/mpl/set/aux_/numbered_c.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_SET_SET20_C_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set30.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set30.hpp
new file mode 100644
index 00000000000..b0344546a39
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set30.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_SET_SET30_HPP_INCLUDED
+#define BOOST_MPL_SET_SET30_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/set/set20.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>
+
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)
+
+# define BOOST_MPL_PREPROCESSED_HEADER set30.hpp
+# include <boost/mpl/set/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/preprocessor/iterate.hpp>
+
+namespace boost { namespace mpl {
+
+# define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(21, 30, <boost/mpl/set/aux_/numbered.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_SET_SET30_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set30_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set30_c.hpp
new file mode 100644
index 00000000000..e006e1cd668
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set30_c.hpp
@@ -0,0 +1,45 @@
+
+#ifndef BOOST_MPL_SET_SET30_C_HPP_INCLUDED
+#define BOOST_MPL_SET_SET30_C_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/set/set20_c.hpp>
+# include <boost/mpl/set/set30.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>
+
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)
+
+# define BOOST_MPL_PREPROCESSED_HEADER set30_c.hpp
+# include <boost/mpl/set/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/preprocessor/iterate.hpp>
+
+namespace boost { namespace mpl {
+
+# define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(21, 30, <boost/mpl/set/aux_/numbered_c.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_SET_SET30_C_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set40.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set40.hpp
new file mode 100644
index 00000000000..5fa2cd0e431
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set40.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_SET_SET40_HPP_INCLUDED
+#define BOOST_MPL_SET_SET40_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/set/set30.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>
+
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)
+
+# define BOOST_MPL_PREPROCESSED_HEADER set40.hpp
+# include <boost/mpl/set/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/preprocessor/iterate.hpp>
+
+namespace boost { namespace mpl {
+
+# define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(31, 40, <boost/mpl/set/aux_/numbered.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_SET_SET40_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set40_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set40_c.hpp
new file mode 100644
index 00000000000..bce5a80dc3b
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set40_c.hpp
@@ -0,0 +1,45 @@
+
+#ifndef BOOST_MPL_SET_SET40_C_HPP_INCLUDED
+#define BOOST_MPL_SET_SET40_C_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/set/set30_c.hpp>
+# include <boost/mpl/set/set40.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>
+
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)
+
+# define BOOST_MPL_PREPROCESSED_HEADER set40_c.hpp
+# include <boost/mpl/set/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/preprocessor/iterate.hpp>
+
+namespace boost { namespace mpl {
+
+# define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(31, 40, <boost/mpl/set/aux_/numbered_c.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_SET_SET40_C_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set50.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set50.hpp
new file mode 100644
index 00000000000..0c2bfc01ae7
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set50.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_SET_SET50_HPP_INCLUDED
+#define BOOST_MPL_SET_SET50_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/set/set40.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>
+
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)
+
+# define BOOST_MPL_PREPROCESSED_HEADER set50.hpp
+# include <boost/mpl/set/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/preprocessor/iterate.hpp>
+
+namespace boost { namespace mpl {
+
+# define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(41, 50, <boost/mpl/set/aux_/numbered.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_SET_SET50_HPP_INCLUDED
diff --git a/src/third_party/boost-1.56.0/boost/mpl/set/set50_c.hpp b/src/third_party/boost-1.56.0/boost/mpl/set/set50_c.hpp
new file mode 100644
index 00000000000..077dbf762e4
--- /dev/null
+++ b/src/third_party/boost-1.56.0/boost/mpl/set/set50_c.hpp
@@ -0,0 +1,45 @@
+
+#ifndef BOOST_MPL_SET_SET50_C_HPP_INCLUDED
+#define BOOST_MPL_SET_SET50_C_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright David Abrahams 2003-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/set/set40_c.hpp>
+# include <boost/mpl/set/set50.hpp>
+#endif
+
+#include <boost/mpl/aux_/config/use_preprocessed.hpp>
+
+#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+ && !defined(BOOST_MPL_PREPROCESSING_MODE)
+
+# define BOOST_MPL_PREPROCESSED_HEADER set50_c.hpp
+# include <boost/mpl/set/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/preprocessor/iterate.hpp>
+
+namespace boost { namespace mpl {
+
+# define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(41, 50, <boost/mpl/set/aux_/numbered_c.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_SET_SET50_C_HPP_INCLUDED