summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2013-01-12 18:41:34 (GMT)
committerSwift Review <review@swift.im>2013-01-13 10:36:26 (GMT)
commitf3bc816af1b0d61452de973963e453bf3b3f95a2 (patch)
treee895f8afa3580e6cff6f5ad2017d45bf147a17c2 /3rdParty/Boost/src/boost/fusion/adapted/mpl/detail
parent188fc285c6555eadd3c9d50ab8a94adcade78d89 (diff)
downloadswift-f3bc816af1b0d61452de973963e453bf3b3f95a2.zip
swift-f3bc816af1b0d61452de973963e453bf3b3f95a2.tar.bz2
Adding in the spirit Boost stuff
Change-Id: I4f127ce61667243b64081b0aa309028d5077045f
Diffstat (limited to '3rdParty/Boost/src/boost/fusion/adapted/mpl/detail')
-rw-r--r--3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/at_impl.hpp40
-rw-r--r--3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/begin_impl.hpp45
-rw-r--r--3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/category_of_impl.hpp54
-rw-r--r--3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/empty_impl.hpp31
-rw-r--r--3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/end_impl.hpp45
-rw-r--r--3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/has_key_impl.hpp31
-rw-r--r--3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp31
-rw-r--r--3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/is_view_impl.hpp32
-rw-r--r--3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/size_impl.hpp31
-rw-r--r--3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/value_at_impl.hpp31
10 files changed, 371 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/at_impl.hpp b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/at_impl.hpp
new file mode 100644
index 0000000..99342d7
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/at_impl.hpp
@@ -0,0 +1,40 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_AT_IMPL_31122005_1642)
+#define BOOST_FUSION_AT_IMPL_31122005_1642
+
+#include <boost/mpl/at.hpp>
+
+namespace boost { namespace fusion
+{
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template<typename Tag>
+ struct at_impl;
+
+ template <>
+ struct at_impl<mpl_sequence_tag>
+ {
+ template <typename Sequence, typename N>
+ struct apply
+ {
+ typedef typename mpl::at<Sequence, N>::type type;
+
+ static type
+ call(Sequence)
+ {
+ return type();
+ }
+ };
+ };
+ }
+}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/begin_impl.hpp b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/begin_impl.hpp
new file mode 100644
index 0000000..ef274ba
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/begin_impl.hpp
@@ -0,0 +1,45 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_BEGIN_IMPL_31122005_1209)
+#define BOOST_FUSION_BEGIN_IMPL_31122005_1209
+
+#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
+#include <boost/mpl/begin.hpp>
+#include <boost/type_traits/remove_const.hpp>
+
+namespace boost { namespace fusion {
+
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct begin_impl;
+
+ template <>
+ struct begin_impl<mpl_sequence_tag>
+ {
+ template <typename Sequence>
+ struct apply
+ {
+ typedef typename mpl::begin<
+ typename remove_const<Sequence>::type
+ >::type iterator;
+ typedef mpl_iterator<iterator> type;
+
+ static type
+ call(Sequence)
+ {
+ return type();
+ }
+ };
+ };
+ }
+}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/category_of_impl.hpp b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/category_of_impl.hpp
new file mode 100644
index 0000000..be43a56
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/category_of_impl.hpp
@@ -0,0 +1,54 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141)
+#define BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141
+
+#include <boost/fusion/support/detail/mpl_iterator_category.hpp>
+#include <boost/mpl/begin_end.hpp>
+#include <boost/mpl/is_sequence.hpp>
+#include <boost/static_assert.hpp>
+
+namespace boost { namespace fusion {
+
+ namespace detail
+ {
+ template <typename T>
+ struct mpl_sequence_category_of
+ {
+ // assumes T is an mpl sequence
+ // there should be no way this will ever be
+ // called where T is an mpl iterator
+
+ BOOST_STATIC_ASSERT(mpl::is_sequence<T>::value);
+ typedef typename
+ mpl_iterator_category<
+ typename mpl::begin<T>::type::category
+ >::type
+ type;
+ };
+ }
+
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template<typename Tag>
+ struct category_of_impl;
+
+ template<>
+ struct category_of_impl<mpl_sequence_tag>
+ {
+ template<typename T>
+ struct apply
+ : detail::mpl_sequence_category_of<T>
+ {};
+ };
+ }
+}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/empty_impl.hpp b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/empty_impl.hpp
new file mode 100644
index 0000000..f2eb22a
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/empty_impl.hpp
@@ -0,0 +1,31 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_EMPTY_IMPL_31122005_1554)
+#define BOOST_FUSION_EMPTY_IMPL_31122005_1554
+
+#include <boost/mpl/empty.hpp>
+
+namespace boost { namespace fusion
+{
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template <typename Sequence>
+ struct empty_impl;
+
+ template <>
+ struct empty_impl<mpl_sequence_tag>
+ {
+ template <typename Sequence>
+ struct apply : mpl::empty<Sequence> {};
+ };
+ }
+}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/end_impl.hpp b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/end_impl.hpp
new file mode 100644
index 0000000..613ab63
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/end_impl.hpp
@@ -0,0 +1,45 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_END_IMPL_31122005_1237)
+#define BOOST_FUSION_END_IMPL_31122005_1237
+
+#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
+#include <boost/mpl/end.hpp>
+#include <boost/type_traits/add_const.hpp>
+
+namespace boost { namespace fusion
+{
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct end_impl;
+
+ template <>
+ struct end_impl<mpl_sequence_tag>
+ {
+ template <typename Sequence>
+ struct apply
+ {
+ typedef typename mpl::end<
+ typename remove_const<Sequence>::type
+ >::type iterator;
+ typedef mpl_iterator<iterator> type;
+
+ static type
+ call(Sequence)
+ {
+ return type();
+ }
+ };
+ };
+ }
+}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/has_key_impl.hpp b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/has_key_impl.hpp
new file mode 100644
index 0000000..b2b3253
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/has_key_impl.hpp
@@ -0,0 +1,31 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_HAS_KEY_IMPL_31122005_1647)
+#define BOOST_FUSION_HAS_KEY_IMPL_31122005_1647
+
+#include <boost/mpl/has_key.hpp>
+
+namespace boost { namespace fusion
+{
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct has_key_impl;
+
+ template <>
+ struct has_key_impl<mpl_sequence_tag>
+ {
+ template <typename Sequence, typename Key>
+ struct apply : mpl::has_key<Sequence, Key> {};
+ };
+ }
+}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp
new file mode 100644
index 0000000..2c6c5f9
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp
@@ -0,0 +1,31 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505)
+#define BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505
+
+#include <boost/mpl/bool.hpp>
+
+namespace boost { namespace fusion
+{
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template<typename Tag>
+ struct is_sequence_impl;
+
+ template<>
+ struct is_sequence_impl<mpl_sequence_tag>
+ {
+ template<typename T>
+ struct apply : mpl::true_ {};
+ };
+ }
+}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/is_view_impl.hpp b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/is_view_impl.hpp
new file mode 100644
index 0000000..bd9b7a4
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/is_view_impl.hpp
@@ -0,0 +1,32 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_IS_VIEW_IMPL_03202006_0048)
+#define BOOST_FUSION_IS_VIEW_IMPL_03202006_0048
+
+#include <boost/mpl/bool.hpp>
+
+namespace boost { namespace fusion
+{
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template<typename Tag>
+ struct is_view_impl;
+
+ template<>
+ struct is_view_impl<mpl_sequence_tag>
+ {
+ template<typename T>
+ struct apply : mpl::true_
+ {};
+ };
+ }
+}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/size_impl.hpp b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/size_impl.hpp
new file mode 100644
index 0000000..3816872
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/size_impl.hpp
@@ -0,0 +1,31 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_SIZE_IMPL_31122005_1508)
+#define BOOST_FUSION_SIZE_IMPL_31122005_1508
+
+#include <boost/mpl/size.hpp>
+
+namespace boost { namespace fusion
+{
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template<typename Tag>
+ struct size_impl;
+
+ template <>
+ struct size_impl<mpl_sequence_tag>
+ {
+ template <typename Sequence>
+ struct apply : mpl::size<Sequence> {};
+ };
+ }
+}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/value_at_impl.hpp b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/value_at_impl.hpp
new file mode 100644
index 0000000..5560b82
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/adapted/mpl/detail/value_at_impl.hpp
@@ -0,0 +1,31 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(BOOST_FUSION_VALUE_AT_IMPL_31122005_1621)
+#define BOOST_FUSION_VALUE_AT_IMPL_31122005_1621
+
+#include <boost/mpl/at.hpp>
+
+namespace boost { namespace fusion
+{
+ struct mpl_sequence_tag;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct value_at_impl;
+
+ template <>
+ struct value_at_impl<mpl_sequence_tag>
+ {
+ template <typename Sequence, typename N>
+ struct apply : mpl::at<Sequence, N> {};
+ };
+ }
+}}
+
+#endif