summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/mpl')
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/back_impl.hpp43
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/config/operators.hpp33
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/erase_impl.hpp69
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/erase_key_impl.hpp32
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/has_key_impl.hpp34
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/insert_impl.hpp68
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/insert_range_impl.hpp77
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/iter_push_front.hpp36
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/joint_iter.hpp120
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/order_impl.hpp76
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/overload_names.hpp48
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/pop_back_impl.hpp34
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/pop_front_impl.hpp44
-rw-r--r--3rdParty/Boost/src/boost/mpl/aux_/ptr_to_ref.hpp46
-rw-r--r--3rdParty/Boost/src/boost/mpl/back.hpp39
-rw-r--r--3rdParty/Boost/src/boost/mpl/base.hpp35
-rw-r--r--3rdParty/Boost/src/boost/mpl/begin.hpp19
-rw-r--r--3rdParty/Boost/src/boost/mpl/bitand.hpp45
-rw-r--r--3rdParty/Boost/src/boost/mpl/bitxor.hpp23
-rw-r--r--3rdParty/Boost/src/boost/mpl/empty_base.hpp59
-rw-r--r--3rdParty/Boost/src/boost/mpl/end.hpp19
-rw-r--r--3rdParty/Boost/src/boost/mpl/erase.hpp42
-rw-r--r--3rdParty/Boost/src/boost/mpl/erase_fwd.hpp24
-rw-r--r--3rdParty/Boost/src/boost/mpl/erase_key.hpp41
-rw-r--r--3rdParty/Boost/src/boost/mpl/erase_key_fwd.hpp24
-rw-r--r--3rdParty/Boost/src/boost/mpl/has_key.hpp41
-rw-r--r--3rdParty/Boost/src/boost/mpl/has_key_fwd.hpp25
-rw-r--r--3rdParty/Boost/src/boost/mpl/inherit.hpp229
-rw-r--r--3rdParty/Boost/src/boost/mpl/insert.hpp41
-rw-r--r--3rdParty/Boost/src/boost/mpl/insert_fwd.hpp24
-rw-r--r--3rdParty/Boost/src/boost/mpl/insert_range.hpp41
-rw-r--r--3rdParty/Boost/src/boost/mpl/insert_range_fwd.hpp24
-rw-r--r--3rdParty/Boost/src/boost/mpl/joint_view.hpp65
-rw-r--r--3rdParty/Boost/src/boost/mpl/key_type_fwd.hpp25
-rw-r--r--3rdParty/Boost/src/boost/mpl/limits/map.hpp21
-rw-r--r--3rdParty/Boost/src/boost/mpl/map.hpp57
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/at_impl.hpp144
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/begin_end_impl.hpp50
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/clear_impl.hpp35
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/contains_impl.hpp43
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/empty_impl.hpp34
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/erase_impl.hpp41
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/erase_key_impl.hpp53
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/has_key_impl.hpp44
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/include_preprocessed.hpp53
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/insert_impl.hpp72
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/item.hpp138
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/iterator.hpp169
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/key_type_impl.hpp36
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/map0.hpp74
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/numbered.hpp110
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp350
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp370
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp390
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp410
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp430
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map10.hpp290
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map20.hpp310
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map30.hpp330
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map40.hpp350
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map50.hpp370
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp150
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp170
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp190
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp210
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp230
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/size_impl.hpp33
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/tag.hpp24
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/aux_/value_type_impl.hpp36
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/map0.hpp36
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/map10.hpp44
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/map20.hpp44
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/map30.hpp44
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/map40.hpp44
-rw-r--r--3rdParty/Boost/src/boost/mpl/map/map50.hpp44
-rw-r--r--3rdParty/Boost/src/boost/mpl/min.hpp19
-rw-r--r--3rdParty/Boost/src/boost/mpl/order_fwd.hpp25
-rw-r--r--3rdParty/Boost/src/boost/mpl/pop_back.hpp39
-rw-r--r--3rdParty/Boost/src/boost/mpl/pop_front.hpp39
-rw-r--r--3rdParty/Boost/src/boost/mpl/print.hpp74
-rw-r--r--3rdParty/Boost/src/boost/mpl/remove.hpp52
-rw-r--r--3rdParty/Boost/src/boost/mpl/value_type_fwd.hpp25
82 files changed, 7991 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/back_impl.hpp b/3rdParty/Boost/src/boost/mpl/aux_/back_impl.hpp
new file mode 100644
index 0000000..3b7e4a9
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/back_impl.hpp
@@ -0,0 +1,43 @@
+
+#ifndef BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED
+#define BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED
+
+// 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: back_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/begin_end.hpp>
+#include <boost/mpl/next_prior.hpp>
+#include <boost/mpl/deref.hpp>
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>
+
+namespace boost { namespace mpl {
+
+// default implementation, requires at least bi-directional iterators;
+// conrete sequences might override it by specializing either the
+// 'back_impl' or the primary 'back' template
+
+template< typename Tag >
+struct back_impl
+{
+ template< typename Sequence > struct apply
+ {
+ typedef typename end<Sequence>::type end_;
+ typedef typename prior<end_>::type last_;
+ typedef typename deref<last_>::type type;
+ };
+};
+
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, back_impl)
+
+}}
+
+#endif // BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/config/operators.hpp b/3rdParty/Boost/src/boost/mpl/aux_/config/operators.hpp
new file mode 100644
index 0000000..a6af5b1
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/config/operators.hpp
@@ -0,0 +1,33 @@
+
+#ifndef BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED
+#define BOOST_MPL_AUX_CONFIG_OPERATORS_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: operators.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/aux_/config/gcc.hpp>
+#include <boost/mpl/aux_/config/msvc.hpp>
+#include <boost/mpl/aux_/config/workaround.hpp>
+
+#if !defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) \
+ && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
+ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
+ || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \
+ || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, <= 0x0295) \
+ || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \
+ )
+
+# define BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING
+
+#endif
+
+#endif // BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/erase_impl.hpp b/3rdParty/Boost/src/boost/mpl/aux_/erase_impl.hpp
new file mode 100644
index 0000000..5fc1712
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/erase_impl.hpp
@@ -0,0 +1,69 @@
+
+#ifndef BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED
+#define BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED
+
+// 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: erase_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/clear.hpp>
+#include <boost/mpl/push_front.hpp>
+#include <boost/mpl/reverse_fold.hpp>
+#include <boost/mpl/iterator_range.hpp>
+#include <boost/mpl/next.hpp>
+#include <boost/mpl/aux_/na.hpp>
+
+namespace boost { namespace mpl {
+
+// default implementation; conrete sequences might override it by
+// specializing either the 'erase_impl' or the primary 'erase' template
+
+template< typename Tag >
+struct erase_impl
+{
+ template<
+ typename Sequence
+ , typename First
+ , typename Last
+ >
+ struct apply
+ {
+ typedef typename if_na< Last,typename next<First>::type >::type last_;
+
+ // 1st half: [begin, first)
+ typedef iterator_range<
+ typename begin<Sequence>::type
+ , First
+ > first_half_;
+
+ // 2nd half: [last, end) ... that is, [last + 1, end)
+ typedef iterator_range<
+ last_
+ , typename end<Sequence>::type
+ > second_half_;
+
+ typedef typename reverse_fold<
+ second_half_
+ , typename clear<Sequence>::type
+ , push_front<_,_>
+ >::type half_sequence_;
+
+ typedef typename reverse_fold<
+ first_half_
+ , half_sequence_
+ , push_front<_,_>
+ >::type type;
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/erase_key_impl.hpp b/3rdParty/Boost/src/boost/mpl/aux_/erase_key_impl.hpp
new file mode 100644
index 0000000..e479c66
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/erase_key_impl.hpp
@@ -0,0 +1,32 @@
+
+#ifndef BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
+#define BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
+
+// 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: erase_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/erase_key_fwd.hpp>
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>
+
+namespace boost { namespace mpl {
+
+template< typename Tag >
+struct erase_key_impl
+{
+ template< typename Sequence, typename Key > struct apply;
+};
+
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, erase_key_impl)
+
+}}
+
+#endif // BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/has_key_impl.hpp b/3rdParty/Boost/src/boost/mpl/aux_/has_key_impl.hpp
new file mode 100644
index 0000000..e7c7fc4
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/has_key_impl.hpp
@@ -0,0 +1,34 @@
+
+#ifndef BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED
+#define BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2002-2004
+// Copyright David Abrahams 2003
+//
+// 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: has_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/has_key_fwd.hpp>
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>
+
+namespace boost { namespace mpl {
+
+// no default implementation; the definition is needed to make MSVC happy
+
+template< typename Tag > struct has_key_impl
+{
+ template< typename AssociativeSequence, typename Key > struct apply;
+};
+
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,has_key_impl)
+
+}}
+
+#endif // BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/insert_impl.hpp b/3rdParty/Boost/src/boost/mpl/aux_/insert_impl.hpp
new file mode 100644
index 0000000..a0de6e9
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/insert_impl.hpp
@@ -0,0 +1,68 @@
+
+#ifndef BOOST_MPL_INSERT_IMPL_HPP_INCLUDED
+#define BOOST_MPL_INSERT_IMPL_HPP_INCLUDED
+
+// 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: insert_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/reverse_fold.hpp>
+#include <boost/mpl/iterator_range.hpp>
+#include <boost/mpl/clear.hpp>
+#include <boost/mpl/push_front.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>
+#include <boost/type_traits/is_same.hpp>
+
+namespace boost { namespace mpl {
+
+// default implementation; conrete sequences might override it by
+// specializing either the 'insert_impl' or the primary 'insert' template
+
+template< typename Tag >
+struct insert_impl
+{
+ template<
+ typename Sequence
+ , typename Pos
+ , typename T
+ >
+ struct apply
+ {
+ typedef iterator_range<
+ typename begin<Sequence>::type
+ , Pos
+ > first_half_;
+
+ typedef iterator_range<
+ Pos
+ , typename end<Sequence>::type
+ > second_half_;
+
+ typedef typename reverse_fold<
+ second_half_
+ , typename clear<Sequence>::type
+ , push_front<_,_>
+ >::type half_sequence_;
+
+ typedef typename reverse_fold<
+ first_half_
+ , typename push_front<half_sequence_,T>::type
+ , push_front<_,_>
+ >::type type;
+ };
+};
+
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_impl)
+
+}}
+
+#endif // BOOST_MPL_INSERT_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/insert_range_impl.hpp b/3rdParty/Boost/src/boost/mpl/aux_/insert_range_impl.hpp
new file mode 100644
index 0000000..d7357b4
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/insert_range_impl.hpp
@@ -0,0 +1,77 @@
+
+#ifndef BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
+#define BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
+
+// 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: insert_range_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/copy.hpp>
+#include <boost/mpl/clear.hpp>
+#include <boost/mpl/front_inserter.hpp>
+#include <boost/mpl/joint_view.hpp>
+#include <boost/mpl/iterator_range.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/iter_push_front.hpp>
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>
+#include <boost/mpl/aux_/config/forwarding.hpp>
+
+#include <boost/type_traits/same_traits.hpp>
+
+namespace boost { namespace mpl {
+
+// default implementation; conrete sequences might override it by
+// specializing either the 'insert_range_impl' or the primary
+// 'insert_range' template
+
+
+template< typename Tag >
+struct insert_range_impl
+{
+ template<
+ typename Sequence
+ , typename Pos
+ , typename Range
+ >
+ struct apply
+#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+ : reverse_copy<
+ joint_view<
+ iterator_range<typename begin<Sequence>::type,Pos>
+ , joint_view<
+ Range
+ , iterator_range<Pos,typename end<Sequence>::type>
+ >
+ >
+ , front_inserter< typename clear<Sequence>::type >
+ >
+ {
+#else
+ {
+ typedef typename reverse_copy<
+ joint_view<
+ iterator_range<typename begin<Sequence>::type,Pos>
+ , joint_view<
+ Range
+ , iterator_range<Pos,typename end<Sequence>::type>
+ >
+ >
+ , front_inserter< typename clear<Sequence>::type >
+ >::type type;
+#endif
+ };
+};
+
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_range_impl)
+
+}}
+
+#endif // BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/iter_push_front.hpp b/3rdParty/Boost/src/boost/mpl/aux_/iter_push_front.hpp
new file mode 100644
index 0000000..3a01b03
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/iter_push_front.hpp
@@ -0,0 +1,36 @@
+
+#ifndef BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED
+#define BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2002-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: iter_push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/push_front.hpp>
+#include <boost/mpl/deref.hpp>
+
+namespace boost { namespace mpl { namespace aux {
+
+template<
+ typename Sequence
+ , typename Iterator
+ >
+struct iter_push_front
+{
+ typedef typename push_front<
+ Sequence
+ , typename deref<Iterator>::type
+ >::type type;
+};
+
+}}}
+
+#endif // BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/joint_iter.hpp b/3rdParty/Boost/src/boost/mpl/aux_/joint_iter.hpp
new file mode 100644
index 0000000..e78028d
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/joint_iter.hpp
@@ -0,0 +1,120 @@
+
+#ifndef BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED
+#define BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED
+
+// 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: joint_iter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/next_prior.hpp>
+#include <boost/mpl/deref.hpp>
+#include <boost/mpl/iterator_tags.hpp>
+#include <boost/mpl/aux_/lambda_spec.hpp>
+#include <boost/mpl/aux_/config/ctps.hpp>
+
+#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+# include <boost/type_traits/is_same.hpp>
+#endif
+
+namespace boost { namespace mpl {
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+
+template<
+ typename Iterator1
+ , typename LastIterator1
+ , typename Iterator2
+ >
+struct joint_iter
+{
+ typedef Iterator1 base;
+ typedef forward_iterator_tag category;
+};
+
+template<
+ typename LastIterator1
+ , typename Iterator2
+ >
+struct joint_iter<LastIterator1,LastIterator1,Iterator2>
+{
+ typedef Iterator2 base;
+ typedef forward_iterator_tag category;
+};
+
+
+template< typename I1, typename L1, typename I2 >
+struct deref< joint_iter<I1,L1,I2> >
+{
+ typedef typename joint_iter<I1,L1,I2>::base base_;
+ typedef typename deref<base_>::type type;
+};
+
+template< typename I1, typename L1, typename I2 >
+struct next< joint_iter<I1,L1,I2> >
+{
+ typedef joint_iter< typename mpl::next<I1>::type,L1,I2 > type;
+};
+
+template< typename L1, typename I2 >
+struct next< joint_iter<L1,L1,I2> >
+{
+ typedef joint_iter< L1,L1,typename mpl::next<I2>::type > type;
+};
+
+#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+template<
+ typename Iterator1
+ , typename LastIterator1
+ , typename Iterator2
+ >
+struct joint_iter;
+
+template< bool > struct joint_iter_impl
+{
+ template< typename I1, typename L1, typename I2 > struct result_
+ {
+ typedef I1 base;
+ typedef forward_iterator_tag category;
+ typedef joint_iter< typename mpl::next<I1>::type,L1,I2 > next;
+ typedef typename deref<I1>::type type;
+ };
+};
+
+template<> struct joint_iter_impl<true>
+{
+ template< typename I1, typename L1, typename I2 > struct result_
+ {
+ typedef I2 base;
+ typedef forward_iterator_tag category;
+ typedef joint_iter< L1,L1,typename mpl::next<I2>::type > next;
+ typedef typename deref<I2>::type type;
+ };
+};
+
+template<
+ typename Iterator1
+ , typename LastIterator1
+ , typename Iterator2
+ >
+struct joint_iter
+ : joint_iter_impl< is_same<Iterator1,LastIterator1>::value >
+ ::template result_<Iterator1,LastIterator1,Iterator2>
+{
+};
+
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, joint_iter)
+
+}}
+
+#endif // BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/order_impl.hpp b/3rdParty/Boost/src/boost/mpl/aux_/order_impl.hpp
new file mode 100644
index 0000000..9d8b04c
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/order_impl.hpp
@@ -0,0 +1,76 @@
+
+#ifndef BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED
+#define BOOST_MPL_AUX_ORDER_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: order_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/order_fwd.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/long.hpp>
+#include <boost/mpl/has_key.hpp>
+#include <boost/mpl/aux_/overload_names.hpp>
+#include <boost/mpl/aux_/static_cast.hpp>
+#include <boost/mpl/aux_/type_wrapper.hpp>
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>
+#include <boost/mpl/aux_/config/msvc.hpp>
+#include <boost/mpl/aux_/config/static_constant.hpp>
+#include <boost/mpl/aux_/config/workaround.hpp>
+
+namespace boost { namespace mpl {
+
+// default implementation; requires 'Seq' to provide corresponding overloads
+// of BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY
+
+template< typename Seq, typename Key > struct x_order_impl
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
+ || BOOST_WORKAROUND(__EDG_VERSION__, <= 245)
+{
+ BOOST_STATIC_CONSTANT(long, value =
+ sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(
+ Seq
+ , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<Key>*, 0)
+ ) )
+ );
+
+ typedef long_<value> type;
+
+#else // ISO98 C++
+ : long_<
+ sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(
+ Seq
+ , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<Key>*, 0)
+ ) )
+ >
+{
+#endif
+};
+
+template< typename Tag >
+struct order_impl
+{
+ template< typename Seq, typename Key > struct apply
+ : if_<
+ typename has_key_impl<Tag>::template apply<Seq,Key>
+ , x_order_impl<Seq,Key>
+ , void_
+ >::type
+ {
+ };
+};
+
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,order_impl)
+
+}}
+
+#endif // BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/overload_names.hpp b/3rdParty/Boost/src/boost/mpl/aux_/overload_names.hpp
new file mode 100644
index 0000000..27e8642
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/overload_names.hpp
@@ -0,0 +1,48 @@
+
+#ifndef BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED
+#define BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 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: overload_names.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/aux_/ptr_to_ref.hpp>
+#include <boost/mpl/aux_/config/operators.hpp>
+
+#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING)
+
+# include <boost/mpl/aux_/static_cast.hpp>
+
+# define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY operator/
+# define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER operator|
+# define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY operator||
+# define BOOST_MPL_AUX_OVERLOAD_IS_MASKED operator%
+
+# define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) / x
+# define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) | x
+# define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) || x
+# define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) % x
+
+#else
+
+# define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY value_by_key_
+# define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER item_by_order_
+# define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY order_by_key_
+# define BOOST_MPL_AUX_OVERLOAD_IS_MASKED is_masked_
+
+# define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(T, x) T::BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY( BOOST_MPL_AUX_PTR_TO_REF(T), x )
+# define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(T, x) T::BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER( BOOST_MPL_AUX_PTR_TO_REF(T), x )
+# define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(T, x) T::BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( BOOST_MPL_AUX_PTR_TO_REF(T), x )
+# define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(T, x) T::BOOST_MPL_AUX_OVERLOAD_IS_MASKED( BOOST_MPL_AUX_PTR_TO_REF(T), x )
+
+#endif
+
+#endif // BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/pop_back_impl.hpp b/3rdParty/Boost/src/boost/mpl/aux_/pop_back_impl.hpp
new file mode 100644
index 0000000..05613e5
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/pop_back_impl.hpp
@@ -0,0 +1,34 @@
+
+#ifndef BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED
+#define BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED
+
+// 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: pop_back_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/pop_back_fwd.hpp>
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>
+
+namespace boost { namespace mpl {
+
+// no default implementation; the definition is needed to make MSVC happy
+
+template< typename Tag >
+struct pop_back_impl
+{
+ template< typename Sequence > struct apply;
+};
+
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, pop_back_impl)
+
+}}
+
+#endif // BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/pop_front_impl.hpp b/3rdParty/Boost/src/boost/mpl/aux_/pop_front_impl.hpp
new file mode 100644
index 0000000..21a76f3
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/pop_front_impl.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED
+#define BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED
+
+// 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: pop_front_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/pop_front_fwd.hpp>
+#include <boost/mpl/aux_/traits_lambda_spec.hpp>
+#include <boost/mpl/aux_/config/workaround.hpp>
+#include <boost/mpl/aux_/config/msvc.hpp>
+
+namespace boost { namespace mpl {
+
+// no default implementation; the definition is needed to make MSVC happy
+
+template< typename Tag >
+struct pop_front_impl
+{
+ template< typename Sequence > struct apply
+ // conservatively placed, but maybe should go outside surrounding
+ // braces.
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+ {
+ typedef int type;
+ }
+#endif
+ ;
+};
+
+BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, pop_front_impl)
+
+}}
+
+#endif // BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/aux_/ptr_to_ref.hpp b/3rdParty/Boost/src/boost/mpl/aux_/ptr_to_ref.hpp
new file mode 100644
index 0000000..e81ebe8
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/aux_/ptr_to_ref.hpp
@@ -0,0 +1,46 @@
+
+#ifndef BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED
+#define BOOST_MPL_AUX_PTR_TO_REF_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: ptr_to_ref.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/aux_/static_cast.hpp>
+#include <boost/mpl/aux_/config/msvc.hpp>
+#include <boost/mpl/aux_/config/workaround.hpp>
+
+
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
+ || ( BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \
+ && !(defined(__STD_STRICT_ANSI) \
+ || defined(__STD_STRICT_ANSI_ERRORS)) )
+
+# define BOOST_MPL_AUX_PTR_TO_REF(X) \
+ *BOOST_MPL_AUX_STATIC_CAST(X*, 0) \
+/**/
+
+#else
+
+# define BOOST_MPL_AUX_PTR_TO_REF(X) \
+ aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(X*, 0)) \
+/**/
+
+#endif
+
+
+namespace boost { namespace mpl { namespace aux {
+
+template< typename T > static T const& ptr_to_ref(T*);
+
+}}}
+
+#endif // BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/back.hpp b/3rdParty/Boost/src/boost/mpl/back.hpp
new file mode 100644
index 0000000..ff6b5d6
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/back.hpp
@@ -0,0 +1,39 @@
+
+#ifndef BOOST_MPL_BACK_HPP_INCLUDED
+#define BOOST_MPL_BACK_HPP_INCLUDED
+
+// 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: back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/back_fwd.hpp>
+#include <boost/mpl/aux_/back_impl.hpp>
+#include <boost/mpl/sequence_tag.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+
+namespace boost { namespace mpl {
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+ >
+struct back
+ : back_impl< typename sequence_tag<Sequence>::type >
+ ::template apply< Sequence >
+{
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(1,back,(Sequence))
+};
+
+BOOST_MPL_AUX_NA_SPEC(1, back)
+
+}}
+
+#endif // BOOST_MPL_BACK_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/base.hpp b/3rdParty/Boost/src/boost/mpl/base.hpp
new file mode 100644
index 0000000..0dcd712
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/base.hpp
@@ -0,0 +1,35 @@
+
+#ifndef BOOST_MPL_BASE_HPP_INCLUDED
+#define BOOST_MPL_BASE_HPP_INCLUDED
+
+// 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: base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+
+namespace boost { namespace mpl {
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(T)
+ >
+struct base
+{
+ typedef typename T::base type;
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(1,base,(T))
+};
+
+BOOST_MPL_AUX_NA_SPEC(1, base)
+
+}}
+
+#endif // BOOST_MPL_BASE_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/begin.hpp b/3rdParty/Boost/src/boost/mpl/begin.hpp
new file mode 100644
index 0000000..9dab265
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/begin.hpp
@@ -0,0 +1,19 @@
+
+#ifndef BOOST_MPL_BEGIN_HPP_INCLUDED
+#define BOOST_MPL_BEGIN_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 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: begin.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/begin_end.hpp>
+
+#endif // BOOST_MPL_BEGIN_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/bitand.hpp b/3rdParty/Boost/src/boost/mpl/bitand.hpp
new file mode 100644
index 0000000..7292569
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/bitand.hpp
@@ -0,0 +1,45 @@
+
+#ifndef BOOST_MPL_BITAND_HPP_INCLUDED
+#define BOOST_MPL_BITAND_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2009
+// Copyright Jaap Suter 2003
+//
+// 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: bitand.hpp 63520 2010-07-02 08:59:55Z agurtovoy $
+// $Date: 2010-07-02 01:59:55 -0700 (Fri, 02 Jul 2010) $
+// $Revision: 63520 $
+
+// agurt, 23/jan/10: workaround a conflict with <iso646.h> header's
+// macros, see http://tinyurl.com/ycwdxco; 'defined(bitand)'
+// has to be checked in a separate condition, otherwise GCC complains
+// about 'bitand' being an alternative token
+#if defined(_MSC_VER)
+#ifndef __GCCXML__
+#if defined(bitand)
+# pragma push_macro("bitand")
+# undef bitand
+# define bitand(x)
+#endif
+#endif
+#endif
+
+#define AUX778076_OP_NAME bitand_
+#define AUX778076_OP_PREFIX bitand
+#define AUX778076_OP_TOKEN &
+#include <boost/mpl/aux_/arithmetic_op.hpp>
+
+#if defined(_MSC_VER)
+#ifndef __GCCXML__
+#if defined(bitand)
+# pragma pop_macro("bitand")
+#endif
+#endif
+#endif
+
+#endif // BOOST_MPL_BITAND_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/bitxor.hpp b/3rdParty/Boost/src/boost/mpl/bitxor.hpp
new file mode 100644
index 0000000..1d1ec6e
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/bitxor.hpp
@@ -0,0 +1,23 @@
+
+#ifndef BOOST_MPL_BITXOR_HPP_INCLUDED
+#define BOOST_MPL_BITXOR_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2000-2004
+// Copyright Jaap Suter 2003
+//
+// 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: bitxor.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#define AUX778076_OP_NAME bitxor_
+#define AUX778076_OP_PREFIX bitxor
+#define AUX778076_OP_TOKEN ^
+#include <boost/mpl/aux_/arithmetic_op.hpp>
+
+#endif // BOOST_MPL_BITXOR_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/empty_base.hpp b/3rdParty/Boost/src/boost/mpl/empty_base.hpp
new file mode 100644
index 0000000..095003e
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/empty_base.hpp
@@ -0,0 +1,59 @@
+
+#ifndef BOOST_MPL_EMPTY_BASE_HPP_INCLUDED
+#define BOOST_MPL_EMPTY_BASE_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2001-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: empty_base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/aux_/config/msvc.hpp>
+#include <boost/mpl/aux_/config/workaround.hpp>
+
+#include <boost/type_traits/is_empty.hpp>
+
+// should be always the last #include directive
+#include <boost/type_traits/detail/bool_trait_def.hpp>
+
+namespace boost { namespace mpl {
+
+// empty base class, guaranteed to have no members; inheritance from
+// 'empty_base' through the 'inherit' metafunction is a no-op - see
+// "mpl/inherit.hpp> header for the details
+struct empty_base {};
+
+template< typename T >
+struct is_empty_base
+ : false_
+{
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+ using false_::value;
+#endif
+};
+
+template<>
+struct is_empty_base<empty_base>
+ : true_
+{
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+ using true_::value;
+#endif
+};
+
+}}
+
+namespace boost {
+BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_empty, mpl::empty_base, true)
+}
+
+#include <boost/type_traits/detail/bool_trait_undef.hpp>
+
+#endif // BOOST_MPL_EMPTY_BASE_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/end.hpp b/3rdParty/Boost/src/boost/mpl/end.hpp
new file mode 100644
index 0000000..ddee556
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/end.hpp
@@ -0,0 +1,19 @@
+
+#ifndef BOOST_MPL_END_HPP_INCLUDED
+#define BOOST_MPL_END_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 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: end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/begin_end.hpp>
+
+#endif // BOOST_MPL_END_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/erase.hpp b/3rdParty/Boost/src/boost/mpl/erase.hpp
new file mode 100644
index 0000000..2bc09ad
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/erase.hpp
@@ -0,0 +1,42 @@
+
+#ifndef BOOST_MPL_ERASE_HPP_INCLUDED
+#define BOOST_MPL_ERASE_HPP_INCLUDED
+
+// 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: erase.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/erase_fwd.hpp>
+#include <boost/mpl/sequence_tag.hpp>
+#include <boost/mpl/aux_/erase_impl.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/mpl/aux_/config/msvc_typename.hpp>
+
+namespace boost { namespace mpl {
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+ , typename BOOST_MPL_AUX_NA_PARAM(First)
+ , typename BOOST_MPL_AUX_NA_PARAM(Last)
+ >
+struct erase
+ : erase_impl< typename sequence_tag<Sequence>::type >
+ ::template apply< Sequence,First,Last >
+{
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(3,erase,(Sequence,First,Last))
+};
+
+BOOST_MPL_AUX_NA_SPEC(3,erase)
+
+}}
+
+#endif // BOOST_MPL_ERASE_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/erase_fwd.hpp b/3rdParty/Boost/src/boost/mpl/erase_fwd.hpp
new file mode 100644
index 0000000..1f833ca
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/erase_fwd.hpp
@@ -0,0 +1,24 @@
+
+#ifndef BOOST_MPL_ERASE_FWD_HPP_INCLUDED
+#define BOOST_MPL_ERASE_FWD_HPP_INCLUDED
+
+// 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: erase_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+namespace boost { namespace mpl {
+
+template< typename Tag > struct erase_impl;
+template< typename Sequence, typename First, typename Last > struct erase;
+
+}}
+
+#endif // BOOST_MPL_ERASE_FWD_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/erase_key.hpp b/3rdParty/Boost/src/boost/mpl/erase_key.hpp
new file mode 100644
index 0000000..9dcca4b
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/erase_key.hpp
@@ -0,0 +1,41 @@
+
+#ifndef BOOST_MPL_ERASE_KEY_HPP_INCLUDED
+#define BOOST_MPL_ERASE_KEY_HPP_INCLUDED
+
+// 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: erase_key.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/erase_key_fwd.hpp>
+#include <boost/mpl/sequence_tag.hpp>
+#include <boost/mpl/aux_/erase_key_impl.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/mpl/aux_/config/msvc_typename.hpp>
+
+namespace boost { namespace mpl {
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+ , typename BOOST_MPL_AUX_NA_PARAM(Key)
+ >
+struct erase_key
+ : erase_key_impl< typename sequence_tag<Sequence>::type >
+ ::template apply< Sequence,Key >
+{
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(2,erase_key,(Sequence,Key))
+};
+
+BOOST_MPL_AUX_NA_SPEC(2,erase_key)
+
+}}
+
+#endif // BOOST_MPL_ERASE_KEY_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/erase_key_fwd.hpp b/3rdParty/Boost/src/boost/mpl/erase_key_fwd.hpp
new file mode 100644
index 0000000..cebe5c6
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/erase_key_fwd.hpp
@@ -0,0 +1,24 @@
+
+#ifndef BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED
+#define BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED
+
+// 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: erase_key_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+namespace boost { namespace mpl {
+
+template< typename Tag > struct erase_key_impl;
+template< typename Sequence, typename Key > struct erase_key;
+
+}}
+
+#endif // BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/has_key.hpp b/3rdParty/Boost/src/boost/mpl/has_key.hpp
new file mode 100644
index 0000000..bdb96b4
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/has_key.hpp
@@ -0,0 +1,41 @@
+
+#ifndef BOOST_MPL_HAS_KEY_HPP_INCLUDED
+#define BOOST_MPL_HAS_KEY_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: has_key.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/has_key_fwd.hpp>
+#include <boost/mpl/sequence_tag.hpp>
+#include <boost/mpl/aux_/has_key_impl.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+
+namespace boost { namespace mpl {
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence)
+ , typename BOOST_MPL_AUX_NA_PARAM(Key)
+ >
+struct has_key
+ : has_key_impl< typename sequence_tag<AssociativeSequence>::type >
+ ::template apply<AssociativeSequence,Key>
+{
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(2,has_key,(AssociativeSequence,Key))
+};
+
+BOOST_MPL_AUX_NA_SPEC(2, has_key)
+
+}}
+
+#endif // BOOST_MPL_HAS_KEY_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/has_key_fwd.hpp b/3rdParty/Boost/src/boost/mpl/has_key_fwd.hpp
new file mode 100644
index 0000000..9c784a1
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/has_key_fwd.hpp
@@ -0,0 +1,25 @@
+
+#ifndef BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED
+#define BOOST_MPL_HAS_KEY_FWD_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: has_key_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+namespace boost { namespace mpl {
+
+template< typename Tag > struct has_key_impl;
+template< typename AssociativeSequence, typename Key > struct has_key;
+
+}}
+
+#endif // BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/inherit.hpp b/3rdParty/Boost/src/boost/mpl/inherit.hpp
new file mode 100644
index 0000000..59715ed
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/inherit.hpp
@@ -0,0 +1,229 @@
+
+#if !defined(BOOST_PP_IS_ITERATING)
+
+///// header body
+
+#ifndef BOOST_MPL_INHERIT_HPP_INCLUDED
+#define BOOST_MPL_INHERIT_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 2001-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: inherit.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/empty_base.hpp>
+# include <boost/mpl/aux_/na_spec.hpp>
+# include <boost/mpl/aux_/lambda_support.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 inherit.hpp
+# include <boost/mpl/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/mpl/limits/arity.hpp>
+# include <boost/mpl/aux_/preprocessor/params.hpp>
+# include <boost/mpl/aux_/preprocessor/default_params.hpp>
+# include <boost/mpl/aux_/preprocessor/enum.hpp>
+# include <boost/mpl/aux_/config/ctps.hpp>
+# include <boost/mpl/aux_/config/dtp.hpp>
+
+# include <boost/preprocessor/iterate.hpp>
+# include <boost/preprocessor/dec.hpp>
+# include <boost/preprocessor/cat.hpp>
+
+namespace boost { namespace mpl {
+
+// 'inherit<T1,T2,..,Tn>' metafunction; returns an unspecified class type
+// produced by public derivation from all metafunction's parameters
+// (T1,T2,..,Tn), except the parameters of 'empty_base' class type;
+// regardless the position and number of 'empty_base' parameters in the
+// metafunction's argument list, derivation from them is always a no-op;
+// for instance:
+// inherit<her>::type == her
+// inherit<her,my>::type == struct unspecified : her, my {};
+// inherit<empty_base,her>::type == her
+// inherit<empty_base,her,empty_base,empty_base>::type == her
+// inherit<her,empty_base,my>::type == struct unspecified : her, my {};
+// inherit<empty_base,empty_base>::type == empty_base
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(T1)
+ , typename BOOST_MPL_AUX_NA_PARAM(T2)
+ >
+struct inherit2
+ : T1, T2
+{
+ typedef inherit2 type;
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1,T2))
+};
+
+template< typename T1 >
+struct inherit2<T1,empty_base>
+{
+ typedef T1 type;
+ BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1,empty_base))
+};
+
+template< typename T2 >
+struct inherit2<empty_base,T2>
+{
+ typedef T2 type;
+ BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,T2))
+};
+
+// needed to disambiguate the previous two in case when both
+// T1 and T2 == empty_base
+template<>
+struct inherit2<empty_base,empty_base>
+{
+ typedef empty_base type;
+ BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,empty_base))
+};
+
+#else
+
+namespace aux {
+
+template< bool C1, bool C2 >
+struct inherit2_impl
+{
+ template< typename Derived, typename T1, typename T2 > struct result_
+ : T1, T2
+ {
+ typedef Derived type_;
+ };
+};
+
+template<>
+struct inherit2_impl<false,true>
+{
+ template< typename Derived, typename T1, typename T2 > struct result_
+ : T1
+ {
+ typedef T1 type_;
+ };
+};
+
+template<>
+struct inherit2_impl<true,false>
+{
+ template< typename Derived, typename T1, typename T2 > struct result_
+ : T2
+ {
+ typedef T2 type_;
+ };
+};
+
+template<>
+struct inherit2_impl<true,true>
+{
+ template< typename Derived, typename T1, typename T2 > struct result_
+ {
+ typedef T1 type_;
+ };
+};
+
+} // namespace aux
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(T1)
+ , typename BOOST_MPL_AUX_NA_PARAM(T2)
+ >
+struct inherit2
+ : aux::inherit2_impl<
+ is_empty_base<T1>::value
+ , is_empty_base<T2>::value
+ >::template result_< inherit2<T1,T2>,T1,T2 >
+{
+ typedef typename inherit2::type_ type;
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1,T2))
+};
+
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+
+#define BOOST_PP_ITERATION_PARAMS_1 \
+ (3,(3, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/inherit.hpp>))
+#include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // BOOST_MPL_INHERIT_HPP_INCLUDED
+
+///// iteration
+
+#else
+#define n_ BOOST_PP_FRAME_ITERATION(1)
+
+template<
+ BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, na)
+ >
+struct BOOST_PP_CAT(inherit,n_)
+ : inherit2<
+ typename BOOST_PP_CAT(inherit,BOOST_PP_DEC(n_))<
+ BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(n_), T)
+ >::type
+ , BOOST_PP_CAT(T,n_)
+ >
+{
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(
+ n_
+ , BOOST_PP_CAT(inherit,n_)
+ , (BOOST_MPL_PP_PARAMS(n_, T))
+ )
+};
+
+BOOST_MPL_AUX_NA_SPEC(n_, BOOST_PP_CAT(inherit,n_))
+
+#if n_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+/// primary template
+template<
+ BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base)
+ >
+struct inherit
+ : BOOST_PP_CAT(inherit,n_)<BOOST_MPL_PP_PARAMS(n_, T)>
+{
+};
+
+// 'na' specialization
+template<>
+struct inherit< BOOST_MPL_PP_ENUM(5, na) >
+{
+ template<
+#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+ BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base)
+#else
+ BOOST_MPL_PP_PARAMS(n_, typename T)
+#endif
+ >
+ struct apply
+ : inherit< BOOST_MPL_PP_PARAMS(n_, T) >
+ {
+ };
+};
+
+BOOST_MPL_AUX_NA_SPEC_LAMBDA(n_, inherit)
+BOOST_MPL_AUX_NA_SPEC_ARITY(n_, inherit)
+BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(n_, n_, inherit)
+#endif
+
+#undef n_
+#endif // BOOST_PP_IS_ITERATING
diff --git a/3rdParty/Boost/src/boost/mpl/insert.hpp b/3rdParty/Boost/src/boost/mpl/insert.hpp
new file mode 100644
index 0000000..ff03de6
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/insert.hpp
@@ -0,0 +1,41 @@
+
+#ifndef BOOST_MPL_INSERT_HPP_INCLUDED
+#define BOOST_MPL_INSERT_HPP_INCLUDED
+
+// 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: insert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/insert_fwd.hpp>
+#include <boost/mpl/sequence_tag.hpp>
+#include <boost/mpl/aux_/insert_impl.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+
+namespace boost { namespace mpl {
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+ , typename BOOST_MPL_AUX_NA_PARAM(Pos_or_T)
+ , typename BOOST_MPL_AUX_NA_PARAM(T)
+ >
+struct insert
+ : insert_impl< typename sequence_tag<Sequence>::type >
+ ::template apply< Sequence,Pos_or_T,T >
+{
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(3,insert,(Sequence,Pos_or_T,T))
+};
+
+BOOST_MPL_AUX_NA_SPEC(3, insert)
+
+}}
+
+#endif // BOOST_MPL_INSERT_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/insert_fwd.hpp b/3rdParty/Boost/src/boost/mpl/insert_fwd.hpp
new file mode 100644
index 0000000..8e3208e
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/insert_fwd.hpp
@@ -0,0 +1,24 @@
+
+#ifndef BOOST_MPL_INSERT_FWD_HPP_INCLUDED
+#define BOOST_MPL_INSERT_FWD_HPP_INCLUDED
+
+// 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: insert_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+namespace boost { namespace mpl {
+
+template< typename Tag > struct insert_impl;
+template< typename Sequence, typename Pos_or_T, typename T > struct insert;
+
+}}
+
+#endif // BOOST_MPL_INSERT_FWD_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/insert_range.hpp b/3rdParty/Boost/src/boost/mpl/insert_range.hpp
new file mode 100644
index 0000000..30baf1d
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/insert_range.hpp
@@ -0,0 +1,41 @@
+
+#ifndef BOOST_MPL_INSERT_RANGE_HPP_INCLUDED
+#define BOOST_MPL_INSERT_RANGE_HPP_INCLUDED
+
+// 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: insert_range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/insert_range_fwd.hpp>
+#include <boost/mpl/sequence_tag.hpp>
+#include <boost/mpl/aux_/insert_range_impl.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+
+namespace boost { namespace mpl {
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+ , typename BOOST_MPL_AUX_NA_PARAM(Pos)
+ , typename BOOST_MPL_AUX_NA_PARAM(Range)
+ >
+struct insert_range
+ : insert_range_impl< typename sequence_tag<Sequence>::type >
+ ::template apply< Sequence,Pos,Range >
+{
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(3,insert_range,(Sequence,Pos,Range))
+};
+
+BOOST_MPL_AUX_NA_SPEC(3, insert_range)
+
+}}
+
+#endif // BOOST_MPL_INSERT_RANGE_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/insert_range_fwd.hpp b/3rdParty/Boost/src/boost/mpl/insert_range_fwd.hpp
new file mode 100644
index 0000000..de85c0e
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/insert_range_fwd.hpp
@@ -0,0 +1,24 @@
+
+#ifndef BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED
+#define BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED
+
+// 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: insert_range_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+namespace boost { namespace mpl {
+
+template< typename Tag > struct insert_range_impl;
+template< typename Sequence, typename Pos, typename Range > struct insert_range;
+
+}}
+
+#endif // BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/joint_view.hpp b/3rdParty/Boost/src/boost/mpl/joint_view.hpp
new file mode 100644
index 0000000..2672fad
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/joint_view.hpp
@@ -0,0 +1,65 @@
+
+#ifndef BOOST_MPL_JOINT_VIEW_HPP_INCLUDED
+#define BOOST_MPL_JOINT_VIEW_HPP_INCLUDED
+
+// 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: joint_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/aux_/joint_iter.hpp>
+#include <boost/mpl/plus.hpp>
+#include <boost/mpl/size_fwd.hpp>
+#include <boost/mpl/begin_end.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+
+namespace boost { namespace mpl {
+
+namespace aux {
+struct joint_view_tag;
+}
+
+template<>
+struct size_impl< aux::joint_view_tag >
+{
+ template < typename JointView > struct apply
+ : plus<
+ size<typename JointView::sequence1_>
+ , size<typename JointView::sequence2_>
+ >
+ {};
+};
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(Sequence1_)
+ , typename BOOST_MPL_AUX_NA_PARAM(Sequence2_)
+ >
+struct joint_view
+{
+ typedef typename mpl::begin<Sequence1_>::type first1_;
+ typedef typename mpl::end<Sequence1_>::type last1_;
+ typedef typename mpl::begin<Sequence2_>::type first2_;
+ typedef typename mpl::end<Sequence2_>::type last2_;
+
+ // agurt, 25/may/03: for the 'size_traits' implementation above
+ typedef Sequence1_ sequence1_;
+ typedef Sequence2_ sequence2_;
+
+ typedef joint_view type;
+ typedef aux::joint_view_tag tag;
+ typedef joint_iter<first1_,last1_,first2_> begin;
+ typedef joint_iter<last1_,last1_,last2_> end;
+};
+
+BOOST_MPL_AUX_NA_SPEC(2, joint_view)
+
+}}
+
+#endif // BOOST_MPL_JOINT_VIEW_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/key_type_fwd.hpp b/3rdParty/Boost/src/boost/mpl/key_type_fwd.hpp
new file mode 100644
index 0000000..e59b395
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/key_type_fwd.hpp
@@ -0,0 +1,25 @@
+
+#ifndef BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED
+#define BOOST_MPL_KEY_TYPE_FWD_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: key_type_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+namespace boost { namespace mpl {
+
+template< typename Tag > struct key_type_impl;
+template< typename AssociativeSequence, typename T > struct key_type;
+
+}}
+
+#endif // BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/limits/map.hpp b/3rdParty/Boost/src/boost/mpl/limits/map.hpp
new file mode 100644
index 0000000..92c4a24
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/limits/map.hpp
@@ -0,0 +1,21 @@
+
+#ifndef BOOST_MPL_LIMITS_MAP_HPP_INCLUDED
+#define BOOST_MPL_LIMITS_MAP_HPP_INCLUDED
+
+// 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: map.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#if !defined(BOOST_MPL_LIMIT_MAP_SIZE)
+# define BOOST_MPL_LIMIT_MAP_SIZE 20
+#endif
+
+#endif // BOOST_MPL_LIMITS_MAP_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map.hpp b/3rdParty/Boost/src/boost/mpl/map.hpp
new file mode 100644
index 0000000..3355f00
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map.hpp
@@ -0,0 +1,57 @@
+
+#ifndef BOOST_MPL_MAP_HPP_INCLUDED
+#define BOOST_MPL_MAP_HPP_INCLUDED
+
+// 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: map.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/limits/map.hpp>
+# include <boost/mpl/aux_/na.hpp>
+# include <boost/mpl/aux_/config/preprocessor.hpp>
+
+# include <boost/preprocessor/inc.hpp>
+# include <boost/preprocessor/cat.hpp>
+# include <boost/preprocessor/stringize.hpp>
+
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
+# define AUX778076_MAP_HEADER \
+ BOOST_PP_CAT(map, BOOST_MPL_LIMIT_MAP_SIZE).hpp \
+ /**/
+#else
+# define AUX778076_MAP_HEADER \
+ BOOST_PP_CAT(map, BOOST_MPL_LIMIT_MAP_SIZE)##.hpp \
+ /**/
+#endif
+
+# include BOOST_PP_STRINGIZE(boost/mpl/map/AUX778076_MAP_HEADER)
+# undef AUX778076_MAP_HEADER
+#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 map.hpp
+# include <boost/mpl/aux_/include_preprocessed.hpp>
+
+#else
+
+# include <boost/mpl/limits/map.hpp>
+
+# define AUX778076_SEQUENCE_NAME map
+# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_MAP_SIZE
+# include <boost/mpl/aux_/sequence_wrapper.hpp>
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // BOOST_MPL_MAP_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/at_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/at_impl.hpp
new file mode 100644
index 0000000..e531a70
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/at_impl.hpp
@@ -0,0 +1,144 @@
+
+#ifndef BOOST_MPL_MAP_AUX_AT_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_AUX_AT_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: at_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/at_fwd.hpp>
+#include <boost/mpl/long.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+#include <boost/mpl/aux_/order_impl.hpp>
+#include <boost/mpl/aux_/overload_names.hpp>
+#include <boost/mpl/aux_/type_wrapper.hpp>
+#include <boost/mpl/aux_/ptr_to_ref.hpp>
+#include <boost/mpl/aux_/static_cast.hpp>
+#include <boost/mpl/aux_/config/typeof.hpp>
+#include <boost/mpl/aux_/config/ctps.hpp>
+
+#if !defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+# include <boost/mpl/eval_if.hpp>
+# include <boost/mpl/pair.hpp>
+# include <boost/mpl/void.hpp>
+# include <boost/mpl/aux_/config/static_constant.hpp>
+#endif
+
+namespace boost { namespace mpl {
+
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+
+template< typename Map, typename Key >
+struct m_at
+{
+ typedef aux::type_wrapper<Key> key_;
+ typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(
+ Map
+ , BOOST_MPL_AUX_STATIC_CAST(key_*, 0)
+ ) ) type;
+};
+
+template<>
+struct at_impl< aux::map_tag >
+{
+ template< typename Map, typename Key > struct apply
+ : aux::wrapped_type< typename m_at<
+ Map
+ , Key
+ >::type >
+ {
+ };
+};
+
+// agurt 31/jan/04: two-step implementation for the sake of GCC 3.x
+template< typename Map, long order >
+struct item_by_order_impl
+{
+ typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(
+ Map
+ , BOOST_MPL_AUX_STATIC_CAST(long_<order>*, 0)
+ ) ) type;
+};
+
+template< typename Map, long order >
+struct item_by_order
+ : aux::wrapped_type<
+ typename item_by_order_impl<Map,order>::type
+ >
+{
+};
+
+#else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+
+# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+
+template< typename Map, long n > struct m_at
+{
+ typedef void_ type;
+};
+
+# else
+
+template< long n > struct m_at_impl
+{
+ template< typename Map > struct result_
+ {
+ typedef void_ type;
+ };
+};
+
+template< typename Map, long n > struct m_at
+{
+ typedef typename m_at_impl<n>::result_<Map>::type type;
+};
+
+# endif
+
+
+template<>
+struct at_impl< aux::map_tag >
+{
+ template< typename Map, typename Key > struct apply
+ {
+ typedef typename m_at< Map, (x_order_impl<Map,Key>::value - 2) >::type item_;
+ typedef typename eval_if<
+ is_void_<item_>
+ , void_
+ , second<item_>
+ >::type type;
+ };
+};
+
+template< typename Map, long order > struct is_item_masked
+{
+ BOOST_STATIC_CONSTANT(bool, value =
+ sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(
+ Map
+ , BOOST_MPL_AUX_STATIC_CAST(long_<order>*, 0)
+ ) ) == sizeof(aux::yes_tag)
+ );
+};
+
+template< typename Map, long order > struct item_by_order
+{
+ typedef typename eval_if_c<
+ is_item_masked<Map,order>::value
+ , void_
+ , m_at<Map,(order - 2)>
+ >::type type;
+};
+
+#endif
+
+}}
+
+#endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/begin_end_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/begin_end_impl.hpp
new file mode 100644
index 0000000..b450ecf
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/begin_end_impl.hpp
@@ -0,0 +1,50 @@
+
+#ifndef BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_AUX_BEGIN_END_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: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/begin_end_fwd.hpp>
+#include <boost/mpl/next_prior.hpp>
+#include <boost/mpl/map/aux_/iterator.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct begin_impl< aux::map_tag >
+{
+ template< typename Map > struct apply
+ {
+ typedef typename next< typename Map::order >::type max_order_;
+ typedef m_iter<
+ Map
+ , next_order<Map,1,max_order_::value>::value
+ , max_order_::value
+ > type;
+ };
+};
+
+template<>
+struct end_impl< aux::map_tag >
+{
+ template< typename Map > struct apply
+ {
+ typedef typename next< typename Map::order >::type max_order_;
+ typedef m_iter< Map,max_order_::value,max_order_::value > type;
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/clear_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/clear_impl.hpp
new file mode 100644
index 0000000..d2020a2
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/clear_impl.hpp
@@ -0,0 +1,35 @@
+
+#ifndef BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_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: clear_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/clear_fwd.hpp>
+#include <boost/mpl/map/aux_/map0.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct clear_impl< aux::map_tag >
+{
+ template< typename Map > struct apply
+ {
+ typedef map0<> type;
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/contains_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/contains_impl.hpp
new file mode 100644
index 0000000..6740233
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/contains_impl.hpp
@@ -0,0 +1,43 @@
+
+#ifndef BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_AUX_CONTAINS_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: contains_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/contains_fwd.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/map/aux_/at_impl.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+
+#include <boost/type_traits/is_same.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct contains_impl< aux::map_tag >
+{
+ template< typename Map, typename Pair > struct apply
+ : is_same<
+ typename at_impl<aux::map_tag>::apply<
+ Map
+ , typename Pair::first
+ >::type
+ , typename Pair::second
+ >
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/empty_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/empty_impl.hpp
new file mode 100644
index 0000000..b4f3511
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/empty_impl.hpp
@@ -0,0 +1,34 @@
+
+#ifndef BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_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: empty_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/empty_fwd.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct empty_impl< aux::map_tag >
+{
+ template< typename Map > struct apply
+ : not_< typename Map::size >
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/erase_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/erase_impl.hpp
new file mode 100644
index 0000000..8328e80
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/erase_impl.hpp
@@ -0,0 +1,41 @@
+
+#ifndef BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_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: erase_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/erase_fwd.hpp>
+#include <boost/mpl/map/aux_/erase_key_impl.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct erase_impl< aux::map_tag >
+{
+ template<
+ typename Map
+ , typename Pos
+ , typename unused_
+ >
+ struct apply
+ : erase_key_impl<aux::map_tag>
+ ::apply<Map,typename Pos::type::first>
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/erase_key_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/erase_key_impl.hpp
new file mode 100644
index 0000000..9a8a715
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/erase_key_impl.hpp
@@ -0,0 +1,53 @@
+
+#ifndef BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_AUX_ERASE_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: erase_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/erase_key_fwd.hpp>
+#include <boost/mpl/map/aux_/has_key_impl.hpp>
+#include <boost/mpl/map/aux_/item.hpp>
+#include <boost/mpl/map/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::map_tag >
+{
+ template<
+ typename Map
+ , typename Key
+ >
+ struct apply
+ : eval_if<
+ has_key_impl<aux::map_tag>::apply<Map,Key>
+ , eval_if<
+ is_same< Key,typename Map::key_ >
+ , base<Map>
+ , identity< m_mask<Key,Map> >
+ >
+ , identity<Map>
+ >
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/has_key_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/has_key_impl.hpp
new file mode 100644
index 0000000..3ff49c2
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/has_key_impl.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_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: has_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/has_key_fwd.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+#include <boost/mpl/map/aux_/at_impl.hpp>
+#include <boost/mpl/void.hpp>
+#include <boost/mpl/aux_/config/typeof.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct has_key_impl< aux::map_tag >
+{
+ template< typename Map, typename Key > struct apply
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+ : is_not_void_<
+ typename at_impl<aux::map_tag>
+ ::apply<Map,Key>::type
+ >
+#else
+ : bool_< ( x_order_impl<Map,Key>::value > 1 ) >
+#endif
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/include_preprocessed.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/include_preprocessed.hpp
new file mode 100644
index 0000000..89e4b16
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/include_preprocessed.hpp
@@ -0,0 +1,53 @@
+
+// Copyright Aleksey Gurtovoy 2001-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: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
+
+#include <boost/mpl/aux_/config/typeof.hpp>
+#include <boost/mpl/aux_/config/ctps.hpp>
+#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_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+# define AUX778076_INCLUDE_DIR typeof_based
+#elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+# define AUX778076_INCLUDE_DIR no_ctps
+#else
+# define AUX778076_INCLUDE_DIR plain
+#endif
+
+#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
+# define AUX778076_HEADER \
+ AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \
+/**/
+#else
+# define AUX778076_HEADER \
+ BOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \
+/**/
+#endif
+
+#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
+# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/map/aux_/preprocessed/AUX778076_HEADER)
+# include AUX778076_INCLUDE_STRING
+# undef AUX778076_INCLUDE_STRING
+#else
+# include BOOST_PP_STRINGIZE(boost/mpl/map/aux_/preprocessed/AUX778076_HEADER)
+#endif
+
+# undef AUX778076_HEADER
+# undef AUX778076_INCLUDE_DIR
+
+#undef BOOST_MPL_PREPROCESSED_HEADER
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/insert_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/insert_impl.hpp
new file mode 100644
index 0000000..ab0aad3
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/insert_impl.hpp
@@ -0,0 +1,72 @@
+
+#ifndef BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_AUX_INSERT_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: insert_impl.hpp 55751 2009-08-24 04:11:00Z agurtovoy $
+// $Date: 2009-08-23 21:11:00 -0700 (Sun, 23 Aug 2009) $
+// $Revision: 55751 $
+
+#include <boost/mpl/insert_fwd.hpp>
+#include <boost/mpl/next_prior.hpp>
+#include <boost/mpl/map/aux_/contains_impl.hpp>
+#include <boost/mpl/map/aux_/item.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+#include <boost/mpl/aux_/na.hpp>
+#include <boost/mpl/aux_/config/typeof.hpp>
+
+namespace boost { namespace mpl {
+
+namespace aux {
+template< typename Map, typename Pair >
+struct map_insert_impl
+ : if_<
+ contains_impl<aux::map_tag>::apply<Map,Pair>
+ , Map
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+ , m_item<
+ typename Pair::first
+ , typename Pair::second
+ , Map
+ >
+#else
+ , m_item<
+ Map::order::value
+ , typename Pair::first
+ , typename Pair::second
+ , Map
+ >
+#endif
+ >
+{
+};
+}
+
+template<>
+struct insert_impl< aux::map_tag >
+{
+ template<
+ typename Map
+ , typename PosOrKey
+ , typename KeyOrNA
+ >
+ struct apply
+ : aux::map_insert_impl<
+ Map
+ , typename if_na<KeyOrNA,PosOrKey>::type
+ >
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/item.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/item.hpp
new file mode 100644
index 0000000..8ff86b3
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/item.hpp
@@ -0,0 +1,138 @@
+
+#ifndef BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED
+#define BOOST_MPL_MAP_AUX_ITEM_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: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/void.hpp>
+#include <boost/mpl/pair.hpp>
+#include <boost/mpl/long.hpp>
+#include <boost/mpl/next.hpp>
+#include <boost/mpl/prior.hpp>
+#include <boost/mpl/map/aux_/map0.hpp>
+#include <boost/mpl/aux_/order_impl.hpp>
+#include <boost/mpl/aux_/yes_no.hpp>
+#include <boost/mpl/aux_/type_wrapper.hpp>
+#include <boost/mpl/aux_/config/arrays.hpp>
+#include <boost/mpl/aux_/config/typeof.hpp>
+#include <boost/mpl/aux_/config/ctps.hpp>
+
+
+namespace boost { namespace mpl {
+
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+
+template< typename Key, typename T, typename Base >
+struct m_item
+ : Base
+{
+ typedef Key key_;
+ typedef pair<Key,T> item;
+ typedef Base 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_MAP_OVERLOAD( aux::type_wrapper<T>, VALUE_BY_KEY, m_item, aux::type_wrapper<Key>* );
+ BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper<item>, ITEM_BY_ORDER, m_item, order* );
+ BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item, aux::type_wrapper<Key>* );
+};
+
+
+template< typename Key, typename Base >
+struct m_mask
+ : Base
+{
+ typedef void_ key_;
+ typedef Base base;
+
+ typedef typename prior< typename Base::size >::type size;
+ typedef typename x_order_impl<Base,Key>::type key_order_;
+
+ BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper<void_>, VALUE_BY_KEY, m_mask, aux::type_wrapper<Key>* );
+ BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper<void_>, ITEM_BY_ORDER, m_mask, key_order_* );
+};
+
+#else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+
+
+# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+
+template< long n, typename Key, typename T, typename Base >
+struct m_item;
+
+# else
+
+template< long n >
+struct m_item_impl
+{
+ template< typename Key, typename T, typename Base >
+ struct result_;
+};
+
+template< long n, typename Key, typename T, typename Base >
+struct m_item
+ : m_item_impl<n>::result_<Key,T,Base>
+{
+};
+
+
+# endif
+
+
+template< typename Key, typename T, typename Base >
+struct m_item_
+ : Base
+{
+ typedef Key key_;
+ typedef Base base;
+ typedef m_item_ type;
+
+ 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_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item_, aux::type_wrapper<Key>* );
+};
+
+template< typename Key, typename Base >
+struct m_mask
+ : Base
+{
+ typedef void_ key_;
+ typedef Base base;
+
+ typedef typename prior< typename Base::size >::type size;
+ typedef typename x_order_impl<Base,Key>::type key_order_;
+
+ BOOST_MPL_AUX_MAP_OVERLOAD( aux::no_tag, ORDER_BY_KEY, m_mask, aux::type_wrapper<Key>* );
+ BOOST_MPL_AUX_MAP_OVERLOAD( aux::yes_tag, IS_MASKED, m_mask, key_order_* );
+};
+
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/iterator.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/iterator.hpp
new file mode 100644
index 0000000..ecae6f8
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/iterator.hpp
@@ -0,0 +1,169 @@
+
+#ifndef BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED
+#define BOOST_MPL_MAP_AUX_ITERATOR_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: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/map/aux_/map0.hpp>
+#include <boost/mpl/map/aux_/at_impl.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+#include <boost/mpl/iterator_tags.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/next.hpp>
+#include <boost/mpl/deref.hpp>
+#include <boost/mpl/long.hpp>
+#include <boost/mpl/void.hpp>
+#include <boost/mpl/aux_/nttp_decl.hpp>
+#include <boost/mpl/aux_/config/ctps.hpp>
+
+namespace boost { namespace mpl {
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+
+template<
+ typename Map
+ , long order
+ , long max_order
+ >
+struct next_order
+ : if_<
+ is_void_< typename item_by_order<Map,order>::type >
+ , next_order<Map,(order+1),max_order>
+ , long_<order>
+ >::type
+{
+};
+
+template<
+ typename Map
+ , long max_order
+ >
+struct next_order<Map,max_order,max_order>
+ : long_<max_order>
+{
+};
+
+
+template< typename Map, long order, long max_order >
+struct m_iter
+{
+ typedef forward_iterator_tag category;
+ typedef typename item_by_order<Map,order>::type type;
+};
+
+template< typename Map, long max_order >
+struct m_iter<Map,max_order,max_order>
+{
+ typedef forward_iterator_tag category;
+};
+
+
+template< typename Map, long order, long max_order >
+struct next< m_iter<Map,order,max_order> >
+{
+ typedef m_iter<
+ Map
+ , next_order<Map,order+1,max_order>::value
+ , max_order
+ > type;
+};
+
+template< typename Map, long max_order >
+struct next< m_iter<Map,max_order,max_order> >
+{
+};
+
+#else
+
+template<
+ typename Map
+ , BOOST_MPL_AUX_NTTP_DECL(long, order)
+ , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
+ >
+struct next_order;
+
+template<
+ typename Map
+ , BOOST_MPL_AUX_NTTP_DECL(long, order)
+ , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
+ >
+struct next_order_impl
+ : if_<
+ is_void_< typename item_by_order<Map,order>::type >
+ , next_order<Map,(order+1),max_order>
+ , long_<order>
+ >::type
+ {
+ };
+
+template<
+ typename Map
+ , BOOST_MPL_AUX_NTTP_DECL(long, order)
+ , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
+ >
+struct next_order
+ : if_c<
+ (order != max_order)
+ , next_order_impl<Map,order,max_order>
+ , long_<order>
+ >::type
+{
+};
+
+
+template<
+ typename Map
+ , BOOST_MPL_AUX_NTTP_DECL(long, order)
+ , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
+ >
+struct m_iter;
+
+struct m_iter_empty_base {};
+
+template<
+ typename Map
+ , BOOST_MPL_AUX_NTTP_DECL(long, order)
+ , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
+ >
+struct m_iter_base
+{
+ typedef typename item_by_order<Map,order>::type type;
+
+ typedef m_iter<
+ Map
+ , next_order<Map,order+1,max_order>::value
+ , max_order
+ > next;
+};
+
+template<
+ typename Map
+ , BOOST_MPL_AUX_NTTP_DECL(long, order)
+ , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
+ >
+struct m_iter
+ : if_c<
+ (order == max_order)
+ , m_iter_empty_base
+ , m_iter_base<Map,order,max_order>
+ >::type
+{
+ typedef forward_iterator_tag category;
+};
+
+#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/key_type_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/key_type_impl.hpp
new file mode 100644
index 0000000..df883fc
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/key_type_impl.hpp
@@ -0,0 +1,36 @@
+
+#ifndef BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_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: key_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/key_type_fwd.hpp>
+#include <boost/mpl/pair.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+
+namespace boost {
+namespace mpl {
+
+template<>
+struct key_type_impl< aux::map_tag >
+{
+ template< typename Map, typename T > struct apply
+ : first<T>
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/map0.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/map0.hpp
new file mode 100644
index 0000000..acba1a4
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/map0.hpp
@@ -0,0 +1,74 @@
+
+#ifndef BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED
+#define BOOST_MPL_MAP_AUX_MAP0_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: map0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/long.hpp>
+#include <boost/mpl/void.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+#include <boost/mpl/aux_/na.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_MAP0_OVERLOAD(R, f, X, T) \
+ friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
+/**/
+
+# define BOOST_MPL_AUX_MAP_OVERLOAD(R, f, X, T) \
+ BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \
+/**/
+
+#else
+
+# define BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \
+ static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
+/**/
+
+# define BOOST_MPL_AUX_MAP_OVERLOAD(R, f, X, T) \
+ BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T); \
+ using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \
+/**/
+
+#endif
+
+
+template< typename Dummy = na > struct map0
+{
+ typedef map0 type;
+ typedef aux::map_tag tag;
+ typedef void_ key_;
+ typedef long_<1> order;
+ typedef long_<0> size;
+
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+ BOOST_MPL_AUX_MAP0_OVERLOAD( aux::type_wrapper<void_>, VALUE_BY_KEY, map0<>, void const volatile* );
+ BOOST_MPL_AUX_MAP0_OVERLOAD( aux::type_wrapper<void_>, ITEM_BY_ORDER, map0<>, long_<1>* );
+ BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, map0<>, void const volatile* );
+#else
+ BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, map0<>, void const volatile* );
+ BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, IS_MASKED, map0<>, void const volatile* );
+#endif
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/numbered.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/numbered.hpp
new file mode 100644
index 0000000..453fe87
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/numbered.hpp
@@ -0,0 +1,110 @@
+
+// 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: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#else
+
+#include <boost/mpl/aux_/config/typeof.hpp>
+#include <boost/mpl/aux_/config/ctps.hpp>
+#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_MAP_TAIL(map, i_, P) \
+ BOOST_PP_CAT(map,i_)< \
+ BOOST_PP_ENUM_PARAMS(i_, P) \
+ > \
+ /**/
+
+
+#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+
+template<
+ BOOST_PP_ENUM_PARAMS(i_, typename P)
+ >
+struct BOOST_PP_CAT(map,i_)
+ : m_item<
+ typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first
+ , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second
+ , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P)
+ >
+{
+ typedef BOOST_PP_CAT(map,i_) type;
+};
+
+#else // "brute force" implementation
+
+# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+
+template< typename Map>
+struct m_at<Map,BOOST_PP_DEC(i_)>
+{
+ typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item<i_,Key,T,Base>
+ : m_item_<Key,T,Base>
+{
+ typedef pair<Key,T> BOOST_PP_CAT(item,BOOST_PP_DEC(i_));
+};
+
+# else
+
+template<>
+struct m_at_impl<BOOST_PP_DEC(i_)>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type;
+ };
+};
+
+template<>
+struct m_item_impl<i_>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_<Key,T,Base>
+ {
+ typedef pair<Key,T> BOOST_PP_CAT(item,BOOST_PP_DEC(i_));
+ };
+};
+
+# endif
+
+template<
+ BOOST_PP_ENUM_PARAMS(i_, typename P)
+ >
+struct BOOST_PP_CAT(map,i_)
+ : m_item<
+ i_
+ , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first
+ , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second
+ , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P)
+ >
+{
+ typedef BOOST_PP_CAT(map,i_) type;
+};
+
+#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+
+# undef AUX778076_MAP_TAIL
+
+#undef i_
+
+#endif // BOOST_PP_IS_ITERATING
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp
new file mode 100644
index 0000000..626c456
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp
@@ -0,0 +1,350 @@
+
+// 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/map/map10.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<>
+struct m_at_impl<0>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item0 type;
+ };
+};
+
+template<>
+struct m_item_impl<1>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item0;
+ };
+};
+
+template<
+ typename P0
+ >
+struct map1
+ : m_item<
+ 1
+ , typename P0::first
+ , typename P0::second
+ , map0< >
+ >
+{
+ typedef map1 type;
+};
+
+template<>
+struct m_at_impl<1>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item1 type;
+ };
+};
+
+template<>
+struct m_item_impl<2>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item1;
+ };
+};
+
+template<
+ typename P0, typename P1
+ >
+struct map2
+ : m_item<
+ 2
+ , typename P1::first
+ , typename P1::second
+ , map1<P0>
+ >
+{
+ typedef map2 type;
+};
+
+template<>
+struct m_at_impl<2>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item2 type;
+ };
+};
+
+template<>
+struct m_item_impl<3>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item2;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2
+ >
+struct map3
+ : m_item<
+ 3
+ , typename P2::first
+ , typename P2::second
+ , map2< P0,P1 >
+ >
+{
+ typedef map3 type;
+};
+
+template<>
+struct m_at_impl<3>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item3 type;
+ };
+};
+
+template<>
+struct m_item_impl<4>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item3;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3
+ >
+struct map4
+ : m_item<
+ 4
+ , typename P3::first
+ , typename P3::second
+ , map3< P0,P1,P2 >
+ >
+{
+ typedef map4 type;
+};
+
+template<>
+struct m_at_impl<4>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item4 type;
+ };
+};
+
+template<>
+struct m_item_impl<5>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item4;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ >
+struct map5
+ : m_item<
+ 5
+ , typename P4::first
+ , typename P4::second
+ , map4< P0,P1,P2,P3 >
+ >
+{
+ typedef map5 type;
+};
+
+template<>
+struct m_at_impl<5>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item5 type;
+ };
+};
+
+template<>
+struct m_item_impl<6>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item5;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5
+ >
+struct map6
+ : m_item<
+ 6
+ , typename P5::first
+ , typename P5::second
+ , map5< P0,P1,P2,P3,P4 >
+ >
+{
+ typedef map6 type;
+};
+
+template<>
+struct m_at_impl<6>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item6 type;
+ };
+};
+
+template<>
+struct m_item_impl<7>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item6;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6
+ >
+struct map7
+ : m_item<
+ 7
+ , typename P6::first
+ , typename P6::second
+ , map6< P0,P1,P2,P3,P4,P5 >
+ >
+{
+ typedef map7 type;
+};
+
+template<>
+struct m_at_impl<7>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item7 type;
+ };
+};
+
+template<>
+struct m_item_impl<8>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item7;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7
+ >
+struct map8
+ : m_item<
+ 8
+ , typename P7::first
+ , typename P7::second
+ , map7< P0,P1,P2,P3,P4,P5,P6 >
+ >
+{
+ typedef map8 type;
+};
+
+template<>
+struct m_at_impl<8>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item8 type;
+ };
+};
+
+template<>
+struct m_item_impl<9>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item8;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8
+ >
+struct map9
+ : m_item<
+ 9
+ , typename P8::first
+ , typename P8::second
+ , map8< P0,P1,P2,P3,P4,P5,P6,P7 >
+ >
+{
+ typedef map9 type;
+};
+
+template<>
+struct m_at_impl<9>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item9 type;
+ };
+};
+
+template<>
+struct m_item_impl<10>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item9;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ >
+struct map10
+ : m_item<
+ 10
+ , typename P9::first
+ , typename P9::second
+ , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >
+ >
+{
+ typedef map10 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp
new file mode 100644
index 0000000..ac9e379
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp
@@ -0,0 +1,370 @@
+
+// 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/map/map20.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<>
+struct m_at_impl<10>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item10 type;
+ };
+};
+
+template<>
+struct m_item_impl<11>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item10;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10
+ >
+struct map11
+ : m_item<
+ 11
+ , typename P10::first
+ , typename P10::second
+ , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 >
+ >
+{
+ typedef map11 type;
+};
+
+template<>
+struct m_at_impl<11>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item11 type;
+ };
+};
+
+template<>
+struct m_item_impl<12>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item11;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11
+ >
+struct map12
+ : m_item<
+ 12
+ , typename P11::first
+ , typename P11::second
+ , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 >
+ >
+{
+ typedef map12 type;
+};
+
+template<>
+struct m_at_impl<12>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item12 type;
+ };
+};
+
+template<>
+struct m_item_impl<13>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item12;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12
+ >
+struct map13
+ : m_item<
+ 13
+ , typename P12::first
+ , typename P12::second
+ , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 >
+ >
+{
+ typedef map13 type;
+};
+
+template<>
+struct m_at_impl<13>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item13 type;
+ };
+};
+
+template<>
+struct m_item_impl<14>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item13;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13
+ >
+struct map14
+ : m_item<
+ 14
+ , typename P13::first
+ , typename P13::second
+ , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 >
+ >
+{
+ typedef map14 type;
+};
+
+template<>
+struct m_at_impl<14>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item14 type;
+ };
+};
+
+template<>
+struct m_item_impl<15>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item14;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ >
+struct map15
+ : m_item<
+ 15
+ , typename P14::first
+ , typename P14::second
+ , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 >
+ >
+{
+ typedef map15 type;
+};
+
+template<>
+struct m_at_impl<15>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item15 type;
+ };
+};
+
+template<>
+struct m_item_impl<16>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item15;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15
+ >
+struct map16
+ : m_item<
+ 16
+ , typename P15::first
+ , typename P15::second
+ , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 >
+ >
+{
+ typedef map16 type;
+};
+
+template<>
+struct m_at_impl<16>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item16 type;
+ };
+};
+
+template<>
+struct m_item_impl<17>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item16;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16
+ >
+struct map17
+ : m_item<
+ 17
+ , typename P16::first
+ , typename P16::second
+ , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 >
+ >
+{
+ typedef map17 type;
+};
+
+template<>
+struct m_at_impl<17>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item17 type;
+ };
+};
+
+template<>
+struct m_item_impl<18>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item17;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17
+ >
+struct map18
+ : m_item<
+ 18
+ , typename P17::first
+ , typename P17::second
+ , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 >
+ >
+{
+ typedef map18 type;
+};
+
+template<>
+struct m_at_impl<18>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item18 type;
+ };
+};
+
+template<>
+struct m_item_impl<19>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item18;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18
+ >
+struct map19
+ : m_item<
+ 19
+ , typename P18::first
+ , typename P18::second
+ , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 >
+ >
+{
+ typedef map19 type;
+};
+
+template<>
+struct m_at_impl<19>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item19 type;
+ };
+};
+
+template<>
+struct m_item_impl<20>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item19;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ >
+struct map20
+ : m_item<
+ 20
+ , typename P19::first
+ , typename P19::second
+ , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 >
+ >
+{
+ typedef map20 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp
new file mode 100644
index 0000000..5aa118f
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp
@@ -0,0 +1,390 @@
+
+// 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/map/map30.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<>
+struct m_at_impl<20>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item20 type;
+ };
+};
+
+template<>
+struct m_item_impl<21>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item20;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20
+ >
+struct map21
+ : m_item<
+ 21
+ , typename P20::first
+ , typename P20::second
+ , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 >
+ >
+{
+ typedef map21 type;
+};
+
+template<>
+struct m_at_impl<21>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item21 type;
+ };
+};
+
+template<>
+struct m_item_impl<22>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item21;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21
+ >
+struct map22
+ : m_item<
+ 22
+ , typename P21::first
+ , typename P21::second
+ , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 >
+ >
+{
+ typedef map22 type;
+};
+
+template<>
+struct m_at_impl<22>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item22 type;
+ };
+};
+
+template<>
+struct m_item_impl<23>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item22;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22
+ >
+struct map23
+ : m_item<
+ 23
+ , typename P22::first
+ , typename P22::second
+ , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 >
+ >
+{
+ typedef map23 type;
+};
+
+template<>
+struct m_at_impl<23>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item23 type;
+ };
+};
+
+template<>
+struct m_item_impl<24>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item23;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23
+ >
+struct map24
+ : m_item<
+ 24
+ , typename P23::first
+ , typename P23::second
+ , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 >
+ >
+{
+ typedef map24 type;
+};
+
+template<>
+struct m_at_impl<24>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item24 type;
+ };
+};
+
+template<>
+struct m_item_impl<25>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item24;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ >
+struct map25
+ : m_item<
+ 25
+ , typename P24::first
+ , typename P24::second
+ , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 >
+ >
+{
+ typedef map25 type;
+};
+
+template<>
+struct m_at_impl<25>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item25 type;
+ };
+};
+
+template<>
+struct m_item_impl<26>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item25;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25
+ >
+struct map26
+ : m_item<
+ 26
+ , typename P25::first
+ , typename P25::second
+ , map25< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24 >
+ >
+{
+ typedef map26 type;
+};
+
+template<>
+struct m_at_impl<26>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item26 type;
+ };
+};
+
+template<>
+struct m_item_impl<27>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item26;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26
+ >
+struct map27
+ : m_item<
+ 27
+ , typename P26::first
+ , typename P26::second
+ , map26< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25 >
+ >
+{
+ typedef map27 type;
+};
+
+template<>
+struct m_at_impl<27>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item27 type;
+ };
+};
+
+template<>
+struct m_item_impl<28>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item27;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27
+ >
+struct map28
+ : m_item<
+ 28
+ , typename P27::first
+ , typename P27::second
+ , map27< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26 >
+ >
+{
+ typedef map28 type;
+};
+
+template<>
+struct m_at_impl<28>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item28 type;
+ };
+};
+
+template<>
+struct m_item_impl<29>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item28;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28
+ >
+struct map29
+ : m_item<
+ 29
+ , typename P28::first
+ , typename P28::second
+ , map28< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27 >
+ >
+{
+ typedef map29 type;
+};
+
+template<>
+struct m_at_impl<29>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item29 type;
+ };
+};
+
+template<>
+struct m_item_impl<30>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item29;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ >
+struct map30
+ : m_item<
+ 30
+ , typename P29::first
+ , typename P29::second
+ , map29< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28 >
+ >
+{
+ typedef map30 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp
new file mode 100644
index 0000000..dca60d5
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp
@@ -0,0 +1,410 @@
+
+// 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/map/map40.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<>
+struct m_at_impl<30>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item30 type;
+ };
+};
+
+template<>
+struct m_item_impl<31>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item30;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30
+ >
+struct map31
+ : m_item<
+ 31
+ , typename P30::first
+ , typename P30::second
+ , map30< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29 >
+ >
+{
+ typedef map31 type;
+};
+
+template<>
+struct m_at_impl<31>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item31 type;
+ };
+};
+
+template<>
+struct m_item_impl<32>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item31;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31
+ >
+struct map32
+ : m_item<
+ 32
+ , typename P31::first
+ , typename P31::second
+ , map31< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30 >
+ >
+{
+ typedef map32 type;
+};
+
+template<>
+struct m_at_impl<32>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item32 type;
+ };
+};
+
+template<>
+struct m_item_impl<33>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item32;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32
+ >
+struct map33
+ : m_item<
+ 33
+ , typename P32::first
+ , typename P32::second
+ , map32< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31 >
+ >
+{
+ typedef map33 type;
+};
+
+template<>
+struct m_at_impl<33>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item33 type;
+ };
+};
+
+template<>
+struct m_item_impl<34>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item33;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33
+ >
+struct map34
+ : m_item<
+ 34
+ , typename P33::first
+ , typename P33::second
+ , map33< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32 >
+ >
+{
+ typedef map34 type;
+};
+
+template<>
+struct m_at_impl<34>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item34 type;
+ };
+};
+
+template<>
+struct m_item_impl<35>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item34;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ >
+struct map35
+ : m_item<
+ 35
+ , typename P34::first
+ , typename P34::second
+ , map34< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33 >
+ >
+{
+ typedef map35 type;
+};
+
+template<>
+struct m_at_impl<35>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item35 type;
+ };
+};
+
+template<>
+struct m_item_impl<36>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item35;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35
+ >
+struct map36
+ : m_item<
+ 36
+ , typename P35::first
+ , typename P35::second
+ , map35< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 >
+ >
+{
+ typedef map36 type;
+};
+
+template<>
+struct m_at_impl<36>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item36 type;
+ };
+};
+
+template<>
+struct m_item_impl<37>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item36;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36
+ >
+struct map37
+ : m_item<
+ 37
+ , typename P36::first
+ , typename P36::second
+ , map36< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 >
+ >
+{
+ typedef map37 type;
+};
+
+template<>
+struct m_at_impl<37>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item37 type;
+ };
+};
+
+template<>
+struct m_item_impl<38>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item37;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37
+ >
+struct map38
+ : m_item<
+ 38
+ , typename P37::first
+ , typename P37::second
+ , map37< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 >
+ >
+{
+ typedef map38 type;
+};
+
+template<>
+struct m_at_impl<38>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item38 type;
+ };
+};
+
+template<>
+struct m_item_impl<39>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item38;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38
+ >
+struct map39
+ : m_item<
+ 39
+ , typename P38::first
+ , typename P38::second
+ , map38< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 >
+ >
+{
+ typedef map39 type;
+};
+
+template<>
+struct m_at_impl<39>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item39 type;
+ };
+};
+
+template<>
+struct m_item_impl<40>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item39;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ >
+struct map40
+ : m_item<
+ 40
+ , typename P39::first
+ , typename P39::second
+ , map39< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 >
+ >
+{
+ typedef map40 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp
new file mode 100644
index 0000000..cd81908
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp
@@ -0,0 +1,430 @@
+
+// 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/map/map50.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<>
+struct m_at_impl<40>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item40 type;
+ };
+};
+
+template<>
+struct m_item_impl<41>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item40;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40
+ >
+struct map41
+ : m_item<
+ 41
+ , typename P40::first
+ , typename P40::second
+ , map40< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 >
+ >
+{
+ typedef map41 type;
+};
+
+template<>
+struct m_at_impl<41>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item41 type;
+ };
+};
+
+template<>
+struct m_item_impl<42>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item41;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41
+ >
+struct map42
+ : m_item<
+ 42
+ , typename P41::first
+ , typename P41::second
+ , map41< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 >
+ >
+{
+ typedef map42 type;
+};
+
+template<>
+struct m_at_impl<42>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item42 type;
+ };
+};
+
+template<>
+struct m_item_impl<43>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item42;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42
+ >
+struct map43
+ : m_item<
+ 43
+ , typename P42::first
+ , typename P42::second
+ , map42< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 >
+ >
+{
+ typedef map43 type;
+};
+
+template<>
+struct m_at_impl<43>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item43 type;
+ };
+};
+
+template<>
+struct m_item_impl<44>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item43;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43
+ >
+struct map44
+ : m_item<
+ 44
+ , typename P43::first
+ , typename P43::second
+ , map43< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 >
+ >
+{
+ typedef map44 type;
+};
+
+template<>
+struct m_at_impl<44>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item44 type;
+ };
+};
+
+template<>
+struct m_item_impl<45>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item44;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ >
+struct map45
+ : m_item<
+ 45
+ , typename P44::first
+ , typename P44::second
+ , map44< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 >
+ >
+{
+ typedef map45 type;
+};
+
+template<>
+struct m_at_impl<45>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item45 type;
+ };
+};
+
+template<>
+struct m_item_impl<46>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item45;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45
+ >
+struct map46
+ : m_item<
+ 46
+ , typename P45::first
+ , typename P45::second
+ , map45< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 >
+ >
+{
+ typedef map46 type;
+};
+
+template<>
+struct m_at_impl<46>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item46 type;
+ };
+};
+
+template<>
+struct m_item_impl<47>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item46;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46
+ >
+struct map47
+ : m_item<
+ 47
+ , typename P46::first
+ , typename P46::second
+ , map46< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 >
+ >
+{
+ typedef map47 type;
+};
+
+template<>
+struct m_at_impl<47>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item47 type;
+ };
+};
+
+template<>
+struct m_item_impl<48>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item47;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46, typename P47
+ >
+struct map48
+ : m_item<
+ 48
+ , typename P47::first
+ , typename P47::second
+ , map47< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 >
+ >
+{
+ typedef map48 type;
+};
+
+template<>
+struct m_at_impl<48>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item48 type;
+ };
+};
+
+template<>
+struct m_item_impl<49>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item48;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46, typename P47, typename P48
+ >
+struct map49
+ : m_item<
+ 49
+ , typename P48::first
+ , typename P48::second
+ , map48< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 >
+ >
+{
+ typedef map49 type;
+};
+
+template<>
+struct m_at_impl<49>
+{
+ template< typename Map > struct result_
+ {
+ typedef typename Map::item49 type;
+ };
+};
+
+template<>
+struct m_item_impl<50>
+{
+ template< typename Key, typename T, typename Base > struct result_
+ : m_item_< Key,T,Base >
+ {
+ typedef pair< Key,T > item49;
+ };
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46, typename P47, typename P48, typename P49
+ >
+struct map50
+ : m_item<
+ 50
+ , typename P49::first
+ , typename P49::second
+ , map49< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 >
+ >
+{
+ typedef map50 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map10.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map10.hpp
new file mode 100644
index 0000000..ce0d2fb
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map10.hpp
@@ -0,0 +1,290 @@
+
+// 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/map/map10.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template< typename Map>
+struct m_at< Map,0 >
+{
+ typedef typename Map::item0 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 1,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item0;
+};
+
+template<
+ typename P0
+ >
+struct map1
+ : m_item<
+ 1
+ , typename P0::first
+ , typename P0::second
+ , map0< >
+ >
+{
+ typedef map1 type;
+};
+
+template< typename Map>
+struct m_at< Map,1 >
+{
+ typedef typename Map::item1 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 2,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item1;
+};
+
+template<
+ typename P0, typename P1
+ >
+struct map2
+ : m_item<
+ 2
+ , typename P1::first
+ , typename P1::second
+ , map1<P0>
+ >
+{
+ typedef map2 type;
+};
+
+template< typename Map>
+struct m_at< Map,2 >
+{
+ typedef typename Map::item2 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 3,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item2;
+};
+
+template<
+ typename P0, typename P1, typename P2
+ >
+struct map3
+ : m_item<
+ 3
+ , typename P2::first
+ , typename P2::second
+ , map2< P0,P1 >
+ >
+{
+ typedef map3 type;
+};
+
+template< typename Map>
+struct m_at< Map,3 >
+{
+ typedef typename Map::item3 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 4,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item3;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3
+ >
+struct map4
+ : m_item<
+ 4
+ , typename P3::first
+ , typename P3::second
+ , map3< P0,P1,P2 >
+ >
+{
+ typedef map4 type;
+};
+
+template< typename Map>
+struct m_at< Map,4 >
+{
+ typedef typename Map::item4 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 5,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item4;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ >
+struct map5
+ : m_item<
+ 5
+ , typename P4::first
+ , typename P4::second
+ , map4< P0,P1,P2,P3 >
+ >
+{
+ typedef map5 type;
+};
+
+template< typename Map>
+struct m_at< Map,5 >
+{
+ typedef typename Map::item5 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 6,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item5;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5
+ >
+struct map6
+ : m_item<
+ 6
+ , typename P5::first
+ , typename P5::second
+ , map5< P0,P1,P2,P3,P4 >
+ >
+{
+ typedef map6 type;
+};
+
+template< typename Map>
+struct m_at< Map,6 >
+{
+ typedef typename Map::item6 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 7,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item6;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6
+ >
+struct map7
+ : m_item<
+ 7
+ , typename P6::first
+ , typename P6::second
+ , map6< P0,P1,P2,P3,P4,P5 >
+ >
+{
+ typedef map7 type;
+};
+
+template< typename Map>
+struct m_at< Map,7 >
+{
+ typedef typename Map::item7 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 8,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item7;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7
+ >
+struct map8
+ : m_item<
+ 8
+ , typename P7::first
+ , typename P7::second
+ , map7< P0,P1,P2,P3,P4,P5,P6 >
+ >
+{
+ typedef map8 type;
+};
+
+template< typename Map>
+struct m_at< Map,8 >
+{
+ typedef typename Map::item8 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 9,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item8;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8
+ >
+struct map9
+ : m_item<
+ 9
+ , typename P8::first
+ , typename P8::second
+ , map8< P0,P1,P2,P3,P4,P5,P6,P7 >
+ >
+{
+ typedef map9 type;
+};
+
+template< typename Map>
+struct m_at< Map,9 >
+{
+ typedef typename Map::item9 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 10,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item9;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ >
+struct map10
+ : m_item<
+ 10
+ , typename P9::first
+ , typename P9::second
+ , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >
+ >
+{
+ typedef map10 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map20.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map20.hpp
new file mode 100644
index 0000000..e0a147c
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map20.hpp
@@ -0,0 +1,310 @@
+
+// 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/map/map20.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template< typename Map>
+struct m_at< Map,10 >
+{
+ typedef typename Map::item10 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 11,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item10;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10
+ >
+struct map11
+ : m_item<
+ 11
+ , typename P10::first
+ , typename P10::second
+ , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 >
+ >
+{
+ typedef map11 type;
+};
+
+template< typename Map>
+struct m_at< Map,11 >
+{
+ typedef typename Map::item11 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 12,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item11;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11
+ >
+struct map12
+ : m_item<
+ 12
+ , typename P11::first
+ , typename P11::second
+ , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 >
+ >
+{
+ typedef map12 type;
+};
+
+template< typename Map>
+struct m_at< Map,12 >
+{
+ typedef typename Map::item12 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 13,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item12;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12
+ >
+struct map13
+ : m_item<
+ 13
+ , typename P12::first
+ , typename P12::second
+ , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 >
+ >
+{
+ typedef map13 type;
+};
+
+template< typename Map>
+struct m_at< Map,13 >
+{
+ typedef typename Map::item13 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 14,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item13;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13
+ >
+struct map14
+ : m_item<
+ 14
+ , typename P13::first
+ , typename P13::second
+ , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 >
+ >
+{
+ typedef map14 type;
+};
+
+template< typename Map>
+struct m_at< Map,14 >
+{
+ typedef typename Map::item14 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 15,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item14;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ >
+struct map15
+ : m_item<
+ 15
+ , typename P14::first
+ , typename P14::second
+ , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 >
+ >
+{
+ typedef map15 type;
+};
+
+template< typename Map>
+struct m_at< Map,15 >
+{
+ typedef typename Map::item15 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 16,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item15;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15
+ >
+struct map16
+ : m_item<
+ 16
+ , typename P15::first
+ , typename P15::second
+ , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 >
+ >
+{
+ typedef map16 type;
+};
+
+template< typename Map>
+struct m_at< Map,16 >
+{
+ typedef typename Map::item16 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 17,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item16;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16
+ >
+struct map17
+ : m_item<
+ 17
+ , typename P16::first
+ , typename P16::second
+ , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 >
+ >
+{
+ typedef map17 type;
+};
+
+template< typename Map>
+struct m_at< Map,17 >
+{
+ typedef typename Map::item17 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 18,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item17;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17
+ >
+struct map18
+ : m_item<
+ 18
+ , typename P17::first
+ , typename P17::second
+ , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 >
+ >
+{
+ typedef map18 type;
+};
+
+template< typename Map>
+struct m_at< Map,18 >
+{
+ typedef typename Map::item18 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 19,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item18;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18
+ >
+struct map19
+ : m_item<
+ 19
+ , typename P18::first
+ , typename P18::second
+ , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 >
+ >
+{
+ typedef map19 type;
+};
+
+template< typename Map>
+struct m_at< Map,19 >
+{
+ typedef typename Map::item19 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 20,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item19;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ >
+struct map20
+ : m_item<
+ 20
+ , typename P19::first
+ , typename P19::second
+ , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 >
+ >
+{
+ typedef map20 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map30.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map30.hpp
new file mode 100644
index 0000000..d2f2e17
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map30.hpp
@@ -0,0 +1,330 @@
+
+// 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/map/map30.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template< typename Map>
+struct m_at< Map,20 >
+{
+ typedef typename Map::item20 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 21,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item20;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20
+ >
+struct map21
+ : m_item<
+ 21
+ , typename P20::first
+ , typename P20::second
+ , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 >
+ >
+{
+ typedef map21 type;
+};
+
+template< typename Map>
+struct m_at< Map,21 >
+{
+ typedef typename Map::item21 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 22,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item21;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21
+ >
+struct map22
+ : m_item<
+ 22
+ , typename P21::first
+ , typename P21::second
+ , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 >
+ >
+{
+ typedef map22 type;
+};
+
+template< typename Map>
+struct m_at< Map,22 >
+{
+ typedef typename Map::item22 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 23,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item22;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22
+ >
+struct map23
+ : m_item<
+ 23
+ , typename P22::first
+ , typename P22::second
+ , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 >
+ >
+{
+ typedef map23 type;
+};
+
+template< typename Map>
+struct m_at< Map,23 >
+{
+ typedef typename Map::item23 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 24,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item23;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23
+ >
+struct map24
+ : m_item<
+ 24
+ , typename P23::first
+ , typename P23::second
+ , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 >
+ >
+{
+ typedef map24 type;
+};
+
+template< typename Map>
+struct m_at< Map,24 >
+{
+ typedef typename Map::item24 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 25,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item24;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ >
+struct map25
+ : m_item<
+ 25
+ , typename P24::first
+ , typename P24::second
+ , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 >
+ >
+{
+ typedef map25 type;
+};
+
+template< typename Map>
+struct m_at< Map,25 >
+{
+ typedef typename Map::item25 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 26,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item25;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25
+ >
+struct map26
+ : m_item<
+ 26
+ , typename P25::first
+ , typename P25::second
+ , map25< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24 >
+ >
+{
+ typedef map26 type;
+};
+
+template< typename Map>
+struct m_at< Map,26 >
+{
+ typedef typename Map::item26 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 27,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item26;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26
+ >
+struct map27
+ : m_item<
+ 27
+ , typename P26::first
+ , typename P26::second
+ , map26< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25 >
+ >
+{
+ typedef map27 type;
+};
+
+template< typename Map>
+struct m_at< Map,27 >
+{
+ typedef typename Map::item27 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 28,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item27;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27
+ >
+struct map28
+ : m_item<
+ 28
+ , typename P27::first
+ , typename P27::second
+ , map27< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26 >
+ >
+{
+ typedef map28 type;
+};
+
+template< typename Map>
+struct m_at< Map,28 >
+{
+ typedef typename Map::item28 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 29,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item28;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28
+ >
+struct map29
+ : m_item<
+ 29
+ , typename P28::first
+ , typename P28::second
+ , map28< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27 >
+ >
+{
+ typedef map29 type;
+};
+
+template< typename Map>
+struct m_at< Map,29 >
+{
+ typedef typename Map::item29 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 30,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item29;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ >
+struct map30
+ : m_item<
+ 30
+ , typename P29::first
+ , typename P29::second
+ , map29< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28 >
+ >
+{
+ typedef map30 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map40.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map40.hpp
new file mode 100644
index 0000000..692f014
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map40.hpp
@@ -0,0 +1,350 @@
+
+// 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/map/map40.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template< typename Map>
+struct m_at< Map,30 >
+{
+ typedef typename Map::item30 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 31,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item30;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30
+ >
+struct map31
+ : m_item<
+ 31
+ , typename P30::first
+ , typename P30::second
+ , map30< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29 >
+ >
+{
+ typedef map31 type;
+};
+
+template< typename Map>
+struct m_at< Map,31 >
+{
+ typedef typename Map::item31 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 32,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item31;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31
+ >
+struct map32
+ : m_item<
+ 32
+ , typename P31::first
+ , typename P31::second
+ , map31< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30 >
+ >
+{
+ typedef map32 type;
+};
+
+template< typename Map>
+struct m_at< Map,32 >
+{
+ typedef typename Map::item32 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 33,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item32;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32
+ >
+struct map33
+ : m_item<
+ 33
+ , typename P32::first
+ , typename P32::second
+ , map32< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31 >
+ >
+{
+ typedef map33 type;
+};
+
+template< typename Map>
+struct m_at< Map,33 >
+{
+ typedef typename Map::item33 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 34,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item33;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33
+ >
+struct map34
+ : m_item<
+ 34
+ , typename P33::first
+ , typename P33::second
+ , map33< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32 >
+ >
+{
+ typedef map34 type;
+};
+
+template< typename Map>
+struct m_at< Map,34 >
+{
+ typedef typename Map::item34 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 35,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item34;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ >
+struct map35
+ : m_item<
+ 35
+ , typename P34::first
+ , typename P34::second
+ , map34< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33 >
+ >
+{
+ typedef map35 type;
+};
+
+template< typename Map>
+struct m_at< Map,35 >
+{
+ typedef typename Map::item35 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 36,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item35;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35
+ >
+struct map36
+ : m_item<
+ 36
+ , typename P35::first
+ , typename P35::second
+ , map35< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 >
+ >
+{
+ typedef map36 type;
+};
+
+template< typename Map>
+struct m_at< Map,36 >
+{
+ typedef typename Map::item36 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 37,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item36;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36
+ >
+struct map37
+ : m_item<
+ 37
+ , typename P36::first
+ , typename P36::second
+ , map36< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 >
+ >
+{
+ typedef map37 type;
+};
+
+template< typename Map>
+struct m_at< Map,37 >
+{
+ typedef typename Map::item37 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 38,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item37;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37
+ >
+struct map38
+ : m_item<
+ 38
+ , typename P37::first
+ , typename P37::second
+ , map37< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 >
+ >
+{
+ typedef map38 type;
+};
+
+template< typename Map>
+struct m_at< Map,38 >
+{
+ typedef typename Map::item38 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 39,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item38;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38
+ >
+struct map39
+ : m_item<
+ 39
+ , typename P38::first
+ , typename P38::second
+ , map38< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 >
+ >
+{
+ typedef map39 type;
+};
+
+template< typename Map>
+struct m_at< Map,39 >
+{
+ typedef typename Map::item39 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 40,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item39;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ >
+struct map40
+ : m_item<
+ 40
+ , typename P39::first
+ , typename P39::second
+ , map39< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 >
+ >
+{
+ typedef map40 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map50.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map50.hpp
new file mode 100644
index 0000000..3bd2a25
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/plain/map50.hpp
@@ -0,0 +1,370 @@
+
+// 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/map/map50.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template< typename Map>
+struct m_at< Map,40 >
+{
+ typedef typename Map::item40 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 41,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item40;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40
+ >
+struct map41
+ : m_item<
+ 41
+ , typename P40::first
+ , typename P40::second
+ , map40< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 >
+ >
+{
+ typedef map41 type;
+};
+
+template< typename Map>
+struct m_at< Map,41 >
+{
+ typedef typename Map::item41 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 42,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item41;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41
+ >
+struct map42
+ : m_item<
+ 42
+ , typename P41::first
+ , typename P41::second
+ , map41< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 >
+ >
+{
+ typedef map42 type;
+};
+
+template< typename Map>
+struct m_at< Map,42 >
+{
+ typedef typename Map::item42 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 43,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item42;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42
+ >
+struct map43
+ : m_item<
+ 43
+ , typename P42::first
+ , typename P42::second
+ , map42< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 >
+ >
+{
+ typedef map43 type;
+};
+
+template< typename Map>
+struct m_at< Map,43 >
+{
+ typedef typename Map::item43 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 44,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item43;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43
+ >
+struct map44
+ : m_item<
+ 44
+ , typename P43::first
+ , typename P43::second
+ , map43< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 >
+ >
+{
+ typedef map44 type;
+};
+
+template< typename Map>
+struct m_at< Map,44 >
+{
+ typedef typename Map::item44 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 45,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item44;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ >
+struct map45
+ : m_item<
+ 45
+ , typename P44::first
+ , typename P44::second
+ , map44< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 >
+ >
+{
+ typedef map45 type;
+};
+
+template< typename Map>
+struct m_at< Map,45 >
+{
+ typedef typename Map::item45 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 46,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item45;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45
+ >
+struct map46
+ : m_item<
+ 46
+ , typename P45::first
+ , typename P45::second
+ , map45< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 >
+ >
+{
+ typedef map46 type;
+};
+
+template< typename Map>
+struct m_at< Map,46 >
+{
+ typedef typename Map::item46 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 47,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item46;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46
+ >
+struct map47
+ : m_item<
+ 47
+ , typename P46::first
+ , typename P46::second
+ , map46< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 >
+ >
+{
+ typedef map47 type;
+};
+
+template< typename Map>
+struct m_at< Map,47 >
+{
+ typedef typename Map::item47 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 48,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item47;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46, typename P47
+ >
+struct map48
+ : m_item<
+ 48
+ , typename P47::first
+ , typename P47::second
+ , map47< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 >
+ >
+{
+ typedef map48 type;
+};
+
+template< typename Map>
+struct m_at< Map,48 >
+{
+ typedef typename Map::item48 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 49,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item48;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46, typename P47, typename P48
+ >
+struct map49
+ : m_item<
+ 49
+ , typename P48::first
+ , typename P48::second
+ , map48< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 >
+ >
+{
+ typedef map49 type;
+};
+
+template< typename Map>
+struct m_at< Map,49 >
+{
+ typedef typename Map::item49 type;
+};
+
+template< typename Key, typename T, typename Base >
+struct m_item< 50,Key,T,Base >
+ : m_item_< Key,T,Base >
+{
+ typedef pair< Key,T > item49;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46, typename P47, typename P48, typename P49
+ >
+struct map50
+ : m_item<
+ 50
+ , typename P49::first
+ , typename P49::second
+ , map49< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 >
+ >
+{
+ typedef map50 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp
new file mode 100644
index 0000000..e48e991
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp
@@ -0,0 +1,150 @@
+
+// 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/map/map10.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename P0
+ >
+struct map1
+ : m_item<
+ typename P0::first
+ , typename P0::second
+ , map0< >
+ >
+{
+ typedef map1 type;
+};
+
+template<
+ typename P0, typename P1
+ >
+struct map2
+ : m_item<
+ typename P1::first
+ , typename P1::second
+ , map1<P0>
+ >
+{
+ typedef map2 type;
+};
+
+template<
+ typename P0, typename P1, typename P2
+ >
+struct map3
+ : m_item<
+ typename P2::first
+ , typename P2::second
+ , map2< P0,P1 >
+ >
+{
+ typedef map3 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3
+ >
+struct map4
+ : m_item<
+ typename P3::first
+ , typename P3::second
+ , map3< P0,P1,P2 >
+ >
+{
+ typedef map4 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ >
+struct map5
+ : m_item<
+ typename P4::first
+ , typename P4::second
+ , map4< P0,P1,P2,P3 >
+ >
+{
+ typedef map5 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5
+ >
+struct map6
+ : m_item<
+ typename P5::first
+ , typename P5::second
+ , map5< P0,P1,P2,P3,P4 >
+ >
+{
+ typedef map6 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6
+ >
+struct map7
+ : m_item<
+ typename P6::first
+ , typename P6::second
+ , map6< P0,P1,P2,P3,P4,P5 >
+ >
+{
+ typedef map7 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7
+ >
+struct map8
+ : m_item<
+ typename P7::first
+ , typename P7::second
+ , map7< P0,P1,P2,P3,P4,P5,P6 >
+ >
+{
+ typedef map8 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8
+ >
+struct map9
+ : m_item<
+ typename P8::first
+ , typename P8::second
+ , map8< P0,P1,P2,P3,P4,P5,P6,P7 >
+ >
+{
+ typedef map9 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ >
+struct map10
+ : m_item<
+ typename P9::first
+ , typename P9::second
+ , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >
+ >
+{
+ typedef map10 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp
new file mode 100644
index 0000000..bb8d388
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp
@@ -0,0 +1,170 @@
+
+// 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/map/map20.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10
+ >
+struct map11
+ : m_item<
+ typename P10::first
+ , typename P10::second
+ , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 >
+ >
+{
+ typedef map11 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11
+ >
+struct map12
+ : m_item<
+ typename P11::first
+ , typename P11::second
+ , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 >
+ >
+{
+ typedef map12 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12
+ >
+struct map13
+ : m_item<
+ typename P12::first
+ , typename P12::second
+ , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 >
+ >
+{
+ typedef map13 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13
+ >
+struct map14
+ : m_item<
+ typename P13::first
+ , typename P13::second
+ , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 >
+ >
+{
+ typedef map14 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ >
+struct map15
+ : m_item<
+ typename P14::first
+ , typename P14::second
+ , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 >
+ >
+{
+ typedef map15 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15
+ >
+struct map16
+ : m_item<
+ typename P15::first
+ , typename P15::second
+ , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 >
+ >
+{
+ typedef map16 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16
+ >
+struct map17
+ : m_item<
+ typename P16::first
+ , typename P16::second
+ , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 >
+ >
+{
+ typedef map17 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17
+ >
+struct map18
+ : m_item<
+ typename P17::first
+ , typename P17::second
+ , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 >
+ >
+{
+ typedef map18 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18
+ >
+struct map19
+ : m_item<
+ typename P18::first
+ , typename P18::second
+ , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 >
+ >
+{
+ typedef map19 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ >
+struct map20
+ : m_item<
+ typename P19::first
+ , typename P19::second
+ , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 >
+ >
+{
+ typedef map20 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp
new file mode 100644
index 0000000..6a45c0d
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp
@@ -0,0 +1,190 @@
+
+// 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/map/map30.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20
+ >
+struct map21
+ : m_item<
+ typename P20::first
+ , typename P20::second
+ , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 >
+ >
+{
+ typedef map21 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21
+ >
+struct map22
+ : m_item<
+ typename P21::first
+ , typename P21::second
+ , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 >
+ >
+{
+ typedef map22 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22
+ >
+struct map23
+ : m_item<
+ typename P22::first
+ , typename P22::second
+ , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 >
+ >
+{
+ typedef map23 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23
+ >
+struct map24
+ : m_item<
+ typename P23::first
+ , typename P23::second
+ , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 >
+ >
+{
+ typedef map24 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ >
+struct map25
+ : m_item<
+ typename P24::first
+ , typename P24::second
+ , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 >
+ >
+{
+ typedef map25 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25
+ >
+struct map26
+ : m_item<
+ typename P25::first
+ , typename P25::second
+ , map25< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24 >
+ >
+{
+ typedef map26 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26
+ >
+struct map27
+ : m_item<
+ typename P26::first
+ , typename P26::second
+ , map26< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25 >
+ >
+{
+ typedef map27 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27
+ >
+struct map28
+ : m_item<
+ typename P27::first
+ , typename P27::second
+ , map27< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26 >
+ >
+{
+ typedef map28 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28
+ >
+struct map29
+ : m_item<
+ typename P28::first
+ , typename P28::second
+ , map28< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27 >
+ >
+{
+ typedef map29 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ >
+struct map30
+ : m_item<
+ typename P29::first
+ , typename P29::second
+ , map29< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28 >
+ >
+{
+ typedef map30 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp
new file mode 100644
index 0000000..6fc4f4b
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp
@@ -0,0 +1,210 @@
+
+// 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/map/map40.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30
+ >
+struct map31
+ : m_item<
+ typename P30::first
+ , typename P30::second
+ , map30< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29 >
+ >
+{
+ typedef map31 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31
+ >
+struct map32
+ : m_item<
+ typename P31::first
+ , typename P31::second
+ , map31< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30 >
+ >
+{
+ typedef map32 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32
+ >
+struct map33
+ : m_item<
+ typename P32::first
+ , typename P32::second
+ , map32< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31 >
+ >
+{
+ typedef map33 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33
+ >
+struct map34
+ : m_item<
+ typename P33::first
+ , typename P33::second
+ , map33< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32 >
+ >
+{
+ typedef map34 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ >
+struct map35
+ : m_item<
+ typename P34::first
+ , typename P34::second
+ , map34< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33 >
+ >
+{
+ typedef map35 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35
+ >
+struct map36
+ : m_item<
+ typename P35::first
+ , typename P35::second
+ , map35< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 >
+ >
+{
+ typedef map36 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36
+ >
+struct map37
+ : m_item<
+ typename P36::first
+ , typename P36::second
+ , map36< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 >
+ >
+{
+ typedef map37 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37
+ >
+struct map38
+ : m_item<
+ typename P37::first
+ , typename P37::second
+ , map37< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 >
+ >
+{
+ typedef map38 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38
+ >
+struct map39
+ : m_item<
+ typename P38::first
+ , typename P38::second
+ , map38< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 >
+ >
+{
+ typedef map39 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ >
+struct map40
+ : m_item<
+ typename P39::first
+ , typename P39::second
+ , map39< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 >
+ >
+{
+ typedef map40 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp
new file mode 100644
index 0000000..7b3980d
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp
@@ -0,0 +1,230 @@
+
+// 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/map/map50.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40
+ >
+struct map41
+ : m_item<
+ typename P40::first
+ , typename P40::second
+ , map40< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 >
+ >
+{
+ typedef map41 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41
+ >
+struct map42
+ : m_item<
+ typename P41::first
+ , typename P41::second
+ , map41< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 >
+ >
+{
+ typedef map42 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42
+ >
+struct map43
+ : m_item<
+ typename P42::first
+ , typename P42::second
+ , map42< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 >
+ >
+{
+ typedef map43 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43
+ >
+struct map44
+ : m_item<
+ typename P43::first
+ , typename P43::second
+ , map43< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 >
+ >
+{
+ typedef map44 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ >
+struct map45
+ : m_item<
+ typename P44::first
+ , typename P44::second
+ , map44< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 >
+ >
+{
+ typedef map45 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45
+ >
+struct map46
+ : m_item<
+ typename P45::first
+ , typename P45::second
+ , map45< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 >
+ >
+{
+ typedef map46 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46
+ >
+struct map47
+ : m_item<
+ typename P46::first
+ , typename P46::second
+ , map46< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 >
+ >
+{
+ typedef map47 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46, typename P47
+ >
+struct map48
+ : m_item<
+ typename P47::first
+ , typename P47::second
+ , map47< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 >
+ >
+{
+ typedef map48 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46, typename P47, typename P48
+ >
+struct map49
+ : m_item<
+ typename P48::first
+ , typename P48::second
+ , map48< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 >
+ >
+{
+ typedef map49 type;
+};
+
+template<
+ typename P0, typename P1, typename P2, typename P3, typename P4
+ , typename P5, typename P6, typename P7, typename P8, typename P9
+ , typename P10, typename P11, typename P12, typename P13, typename P14
+ , typename P15, typename P16, typename P17, typename P18, typename P19
+ , typename P20, typename P21, typename P22, typename P23, typename P24
+ , typename P25, typename P26, typename P27, typename P28, typename P29
+ , typename P30, typename P31, typename P32, typename P33, typename P34
+ , typename P35, typename P36, typename P37, typename P38, typename P39
+ , typename P40, typename P41, typename P42, typename P43, typename P44
+ , typename P45, typename P46, typename P47, typename P48, typename P49
+ >
+struct map50
+ : m_item<
+ typename P49::first
+ , typename P49::second
+ , map49< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 >
+ >
+{
+ typedef map50 type;
+};
+
+}}
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/size_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/size_impl.hpp
new file mode 100644
index 0000000..786e169
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/size_impl.hpp
@@ -0,0 +1,33 @@
+
+#ifndef BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_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: size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/size_fwd.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+
+namespace boost { namespace mpl {
+
+template<>
+struct size_impl< aux::map_tag >
+{
+ template< typename Map > struct apply
+ : Map::size
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/tag.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/tag.hpp
new file mode 100644
index 0000000..05bb3ab
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/tag.hpp
@@ -0,0 +1,24 @@
+
+#ifndef BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED
+#define BOOST_MPL_MAP_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: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+namespace boost { namespace mpl { namespace aux {
+
+struct map_tag;
+
+}}}
+
+#endif // BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/aux_/value_type_impl.hpp b/3rdParty/Boost/src/boost/mpl/map/aux_/value_type_impl.hpp
new file mode 100644
index 0000000..edf3d89
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/aux_/value_type_impl.hpp
@@ -0,0 +1,36 @@
+
+#ifndef BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
+#define BOOST_MPL_MAP_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: value_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/value_type_fwd.hpp>
+#include <boost/mpl/pair.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+
+namespace boost {
+namespace mpl {
+
+template<>
+struct value_type_impl< aux::map_tag >
+{
+ template< typename Map, typename T > struct apply
+ : second<T>
+ {
+ };
+};
+
+}}
+
+#endif // BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/map0.hpp b/3rdParty/Boost/src/boost/mpl/map/map0.hpp
new file mode 100644
index 0000000..c1082ff
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/map0.hpp
@@ -0,0 +1,36 @@
+
+#ifndef BOOST_MPL_MAP_MAP0_HPP_INCLUDED
+#define BOOST_MPL_MAP_MAP0_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: map0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/map/aux_/contains_impl.hpp>
+#include <boost/mpl/map/aux_/at_impl.hpp>
+//#include <boost/mpl/map/aux_/O1_size.hpp>
+#include <boost/mpl/map/aux_/insert_impl.hpp>
+#include <boost/mpl/map/aux_/erase_impl.hpp>
+#include <boost/mpl/map/aux_/erase_key_impl.hpp>
+#include <boost/mpl/map/aux_/has_key_impl.hpp>
+#include <boost/mpl/map/aux_/key_type_impl.hpp>
+#include <boost/mpl/map/aux_/value_type_impl.hpp>
+#include <boost/mpl/map/aux_/clear_impl.hpp>
+#include <boost/mpl/map/aux_/size_impl.hpp>
+#include <boost/mpl/map/aux_/empty_impl.hpp>
+#include <boost/mpl/map/aux_/begin_end_impl.hpp>
+#include <boost/mpl/map/aux_/iterator.hpp>
+#include <boost/mpl/map/aux_/item.hpp>
+#include <boost/mpl/map/aux_/map0.hpp>
+#include <boost/mpl/map/aux_/tag.hpp>
+
+#endif // BOOST_MPL_MAP_MAP0_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/map10.hpp b/3rdParty/Boost/src/boost/mpl/map/map10.hpp
new file mode 100644
index 0000000..efe0e6a
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/map10.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_MAP_MAP10_HPP_INCLUDED
+#define BOOST_MPL_MAP_MAP10_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: map10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/map/map0.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 map10.hpp
+# include <boost/mpl/map/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/map/aux_/numbered.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_MAP_MAP10_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/map20.hpp b/3rdParty/Boost/src/boost/mpl/map/map20.hpp
new file mode 100644
index 0000000..2450083
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/map20.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_MAP_MAP20_HPP_INCLUDED
+#define BOOST_MPL_MAP_MAP20_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: map20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/map/map10.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 map20.hpp
+# include <boost/mpl/map/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/map/aux_/numbered.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_MAP_MAP20_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/map30.hpp b/3rdParty/Boost/src/boost/mpl/map/map30.hpp
new file mode 100644
index 0000000..3480ebe
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/map30.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_MAP_MAP30_HPP_INCLUDED
+#define BOOST_MPL_MAP_MAP30_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: map30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/map/map20.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 map30.hpp
+# include <boost/mpl/map/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/map/aux_/numbered.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_MAP_MAP30_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/map40.hpp b/3rdParty/Boost/src/boost/mpl/map/map40.hpp
new file mode 100644
index 0000000..ef928fa
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/map40.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_MAP_MAP40_HPP_INCLUDED
+#define BOOST_MPL_MAP_MAP40_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: map40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/map/map30.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 map40.hpp
+# include <boost/mpl/map/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/map/aux_/numbered.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_MAP_MAP40_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/map/map50.hpp b/3rdParty/Boost/src/boost/mpl/map/map50.hpp
new file mode 100644
index 0000000..8eae640
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/map/map50.hpp
@@ -0,0 +1,44 @@
+
+#ifndef BOOST_MPL_MAP_MAP50_HPP_INCLUDED
+#define BOOST_MPL_MAP_MAP50_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: map50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+# include <boost/mpl/map/map40.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 map50.hpp
+# include <boost/mpl/map/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/map/aux_/numbered.hpp>))
+# include BOOST_PP_ITERATE()
+
+}}
+
+#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif // BOOST_MPL_MAP_MAP50_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/min.hpp b/3rdParty/Boost/src/boost/mpl/min.hpp
new file mode 100644
index 0000000..b39461e
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/min.hpp
@@ -0,0 +1,19 @@
+
+#ifndef BOOST_MPL_MIN_HPP_INCLUDED
+#define BOOST_MPL_MIN_HPP_INCLUDED
+
+// Copyright Aleksey Gurtovoy 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: min.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/min_max.hpp>
+
+#endif // BOOST_MPL_MIN_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/order_fwd.hpp b/3rdParty/Boost/src/boost/mpl/order_fwd.hpp
new file mode 100644
index 0000000..bce09fa
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/order_fwd.hpp
@@ -0,0 +1,25 @@
+
+#ifndef BOOST_MPL_ORDER_FWD_HPP_INCLUDED
+#define BOOST_MPL_ORDER_FWD_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: order_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+namespace boost { namespace mpl {
+
+template< typename Tag > struct order_impl;
+template< typename AssociativeSequence, typename Key > struct order;
+
+}}
+
+#endif // BOOST_MPL_ORDER_FWD_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/pop_back.hpp b/3rdParty/Boost/src/boost/mpl/pop_back.hpp
new file mode 100644
index 0000000..e4affca
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/pop_back.hpp
@@ -0,0 +1,39 @@
+
+#ifndef BOOST_MPL_POP_BACK_HPP_INCLUDED
+#define BOOST_MPL_POP_BACK_HPP_INCLUDED
+
+// 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: pop_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/pop_back_fwd.hpp>
+#include <boost/mpl/aux_/pop_back_impl.hpp>
+#include <boost/mpl/sequence_tag.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+
+namespace boost { namespace mpl {
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+ >
+struct pop_back
+ : pop_back_impl< typename sequence_tag<Sequence>::type >
+ ::template apply< Sequence >
+{
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(1,pop_back,(Sequence))
+};
+
+BOOST_MPL_AUX_NA_SPEC(1, pop_back)
+
+}}
+
+#endif // BOOST_MPL_POP_BACK_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/pop_front.hpp b/3rdParty/Boost/src/boost/mpl/pop_front.hpp
new file mode 100644
index 0000000..dead80f
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/pop_front.hpp
@@ -0,0 +1,39 @@
+
+#ifndef BOOST_MPL_POP_FRONT_HPP_INCLUDED
+#define BOOST_MPL_POP_FRONT_HPP_INCLUDED
+
+// 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: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/pop_front_fwd.hpp>
+#include <boost/mpl/aux_/pop_front_impl.hpp>
+#include <boost/mpl/sequence_tag.hpp>
+#include <boost/mpl/aux_/na_spec.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+
+namespace boost { namespace mpl {
+
+template<
+ typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+ >
+struct pop_front
+ : pop_front_impl< typename sequence_tag<Sequence>::type >
+ ::template apply< Sequence >
+{
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(1,pop_front,(Sequence))
+};
+
+BOOST_MPL_AUX_NA_SPEC(1, pop_front)
+
+}}
+
+#endif // BOOST_MPL_POP_FRONT_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/print.hpp b/3rdParty/Boost/src/boost/mpl/print.hpp
new file mode 100644
index 0000000..c726fac
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/print.hpp
@@ -0,0 +1,74 @@
+
+#ifndef BOOST_MPL_PRINT_HPP_INCLUDED
+#define BOOST_MPL_PRINT_HPP_INCLUDED
+
+// Copyright David Abrahams 2003
+// Copyright Aleksey Gurtovoy 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: print.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/aux_/config/msvc.hpp>
+#include <boost/mpl/identity.hpp>
+
+namespace boost { namespace mpl {
+
+namespace aux {
+#if defined(BOOST_MSVC)
+# pragma warning(push, 3)
+// we only want one warning from MSVC, so turn off the other one
+# pragma warning(disable: 4307)
+#elif defined(__MWERKS__)
+# pragma warn_hidevirtual on
+ struct print_base { virtual void f() {} };
+#endif
+
+#if defined(__EDG_VERSION__)
+ template <class T>
+ struct dependent_unsigned
+ {
+ static const unsigned value = 1;
+ };
+#endif
+} // namespace aux
+
+
+template <class T>
+struct print
+ : mpl::identity<T>
+#if defined(__MWERKS__)
+ , aux::print_base
+#endif
+{
+#if defined(BOOST_MSVC)
+ enum { n = sizeof(T) + -1 };
+#elif defined(__MWERKS__)
+ void f(int);
+#else
+ enum {
+ n =
+# if defined(__EDG_VERSION__)
+ aux::dependent_unsigned<T>::value > -1
+# else
+ sizeof(T) > -1
+# endif
+ };
+#endif
+};
+
+#if defined(BOOST_MSVC)
+# pragma warning(pop)
+#elif defined(__MWERKS__)
+# pragma warn_hidevirtual reset
+#endif
+
+}}
+
+#endif // BOOST_MPL_PRINT_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/remove.hpp b/3rdParty/Boost/src/boost/mpl/remove.hpp
new file mode 100644
index 0000000..7ed621f
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/remove.hpp
@@ -0,0 +1,52 @@
+
+#ifndef BOOST_MPL_REMOVE_HPP_INCLUDED
+#define BOOST_MPL_REMOVE_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: remove.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+#include <boost/mpl/remove_if.hpp>
+#include <boost/mpl/same_as.hpp>
+#include <boost/mpl/aux_/inserter_algorithm.hpp>
+
+namespace boost { namespace mpl {
+
+namespace aux {
+
+template<
+ typename Sequence
+ , typename T
+ , typename Inserter
+ >
+struct remove_impl
+ : remove_if_impl< Sequence, same_as<T>, Inserter >
+{
+};
+
+template<
+ typename Sequence
+ , typename T
+ , typename Inserter
+ >
+struct reverse_remove_impl
+ : reverse_remove_if_impl< Sequence, same_as<T>, Inserter >
+{
+};
+
+} // namespace aux
+
+BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove)
+
+}}
+
+#endif // BOOST_MPL_REMOVE_HPP_INCLUDED
diff --git a/3rdParty/Boost/src/boost/mpl/value_type_fwd.hpp b/3rdParty/Boost/src/boost/mpl/value_type_fwd.hpp
new file mode 100644
index 0000000..e9f0b28
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/value_type_fwd.hpp
@@ -0,0 +1,25 @@
+
+#ifndef BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED
+#define BOOST_MPL_VALUE_TYPE_FWD_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: value_type_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
+// $Revision: 49267 $
+
+namespace boost { namespace mpl {
+
+template< typename Tag > struct value_type_impl;
+template< typename AssociativeSequence, typename T > struct value_type;
+
+}}
+
+#endif // BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED