summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/fusion/view/filter_view/detail')
-rw-r--r--3rdParty/Boost/src/boost/fusion/view/filter_view/detail/begin_impl.hpp46
-rw-r--r--3rdParty/Boost/src/boost/fusion/view/filter_view/detail/deref_data_impl.hpp37
-rw-r--r--3rdParty/Boost/src/boost/fusion/view/filter_view/detail/deref_impl.hpp29
-rw-r--r--3rdParty/Boost/src/boost/fusion/view/filter_view/detail/end_impl.hpp45
-rw-r--r--3rdParty/Boost/src/boost/fusion/view/filter_view/detail/equal_to_impl.hpp34
-rw-r--r--3rdParty/Boost/src/boost/fusion/view/filter_view/detail/key_of_impl.hpp28
-rw-r--r--3rdParty/Boost/src/boost/fusion/view/filter_view/detail/next_impl.hpp77
-rw-r--r--3rdParty/Boost/src/boost/fusion/view/filter_view/detail/size_impl.hpp38
-rw-r--r--3rdParty/Boost/src/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp28
-rw-r--r--3rdParty/Boost/src/boost/fusion/view/filter_view/detail/value_of_impl.hpp29
10 files changed, 391 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/begin_impl.hpp b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/begin_impl.hpp
new file mode 100644
index 0000000..cb1a08c
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/begin_impl.hpp
@@ -0,0 +1,46 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+
+ 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(FUSION_BEGIN_IMPL_05062005_0903)
+#define FUSION_BEGIN_IMPL_05062005_0903
+
+namespace boost { namespace fusion
+{
+ struct filter_view_tag;
+
+ template <typename Category, typename First, typename Last, typename Pred>
+ struct filter_iterator;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct begin_impl;
+
+ template <>
+ struct begin_impl<filter_view_tag>
+ {
+ template <typename Sequence>
+ struct apply
+ {
+ typedef typename Sequence::first_type first_type;
+ typedef typename Sequence::last_type last_type;
+ typedef typename Sequence::pred_type pred_type;
+ typedef typename Sequence::category category;
+ typedef filter_iterator<category, first_type, last_type, pred_type> type;
+
+ static type
+ call(Sequence& s)
+ {
+ return type(s.first());
+ }
+ };
+ };
+ }
+}}
+
+#endif
+
+
diff --git a/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/deref_data_impl.hpp b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/deref_data_impl.hpp
new file mode 100644
index 0000000..bf721b5
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/deref_data_impl.hpp
@@ -0,0 +1,37 @@
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
+#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
+
+#include <boost/fusion/iterator/deref_data.hpp>
+
+namespace boost { namespace fusion { namespace extension
+{
+ template <typename>
+ struct deref_data_impl;
+
+ template <>
+ struct deref_data_impl<filter_view_iterator_tag>
+ {
+ template <typename It>
+ struct apply
+ {
+ typedef typename
+ result_of::deref_data<typename It::first_type>::type
+ type;
+
+ static type
+ call(It const& it)
+ {
+ return fusion::deref_data(it.first);
+ }
+ };
+ };
+}}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/deref_impl.hpp b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/deref_impl.hpp
new file mode 100644
index 0000000..c535b7f
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/deref_impl.hpp
@@ -0,0 +1,29 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+
+ 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(FUSION_DEREF_IMPL_05062005_0905)
+#define FUSION_DEREF_IMPL_05062005_0905
+
+#include <boost/fusion/iterator/detail/adapt_deref_traits.hpp>
+
+namespace boost { namespace fusion
+{
+ struct filter_view_iterator_tag;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct deref_impl;
+
+ template <>
+ struct deref_impl<filter_view_iterator_tag>
+ : detail::adapt_deref_traits {};
+ }
+}}
+
+#endif
+
+
diff --git a/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/end_impl.hpp b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/end_impl.hpp
new file mode 100644
index 0000000..195cb0a
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/end_impl.hpp
@@ -0,0 +1,45 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+
+ 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(FUSION_END_IMPL_05062005_0906)
+#define FUSION_END_IMPL_05062005_0906
+
+namespace boost { namespace fusion
+{
+ struct filter_view_tag;
+
+ template <typename Category, typename First, typename Last, typename Pred>
+ struct filter_iterator;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct end_impl;
+
+ template <>
+ struct end_impl<filter_view_tag>
+ {
+ template <typename Sequence>
+ struct apply
+ {
+ typedef typename Sequence::last_type last_type;
+ typedef typename Sequence::pred_type pred_type;
+ typedef typename Sequence::category category;
+ typedef filter_iterator<category,last_type, last_type, pred_type> type;
+
+ static type
+ call(Sequence& s)
+ {
+ return type(s.last());
+ }
+ };
+ };
+ }
+}}
+
+#endif
+
+
diff --git a/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/equal_to_impl.hpp b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/equal_to_impl.hpp
new file mode 100644
index 0000000..2836a25
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/equal_to_impl.hpp
@@ -0,0 +1,34 @@
+/*=============================================================================
+ 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_EQUAL_TO_IMPL_02012005_2133)
+#define BOOST_FUSION_EQUAL_TO_IMPL_02012005_2133
+
+namespace boost { namespace fusion
+{
+ struct filter_view_iterator_tag;
+
+ namespace extension
+ {
+ template<typename I1, typename I2>
+ struct equal_to;
+
+ template<typename Tag>
+ struct equal_to_impl;
+
+ template<>
+ struct equal_to_impl<filter_view_iterator_tag>
+ {
+ template<typename I1, typename I2>
+ struct apply
+ : result_of::equal_to<typename I1::first_type, typename I2::first_type>
+ {};
+ };
+ }
+}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/key_of_impl.hpp b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/key_of_impl.hpp
new file mode 100644
index 0000000..09d9112
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/key_of_impl.hpp
@@ -0,0 +1,28 @@
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP
+#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP
+
+#include <boost/fusion/iterator/key_of.hpp>
+
+namespace boost { namespace fusion { namespace extension
+{
+ template <typename>
+ struct key_of_impl;
+
+ template <>
+ struct key_of_impl<filter_view_iterator_tag>
+ {
+ template <typename It>
+ struct apply
+ : result_of::key_of<typename It::first_type>
+ {};
+ };
+}}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/next_impl.hpp b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/next_impl.hpp
new file mode 100644
index 0000000..ae1e0f0
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/next_impl.hpp
@@ -0,0 +1,77 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+
+ 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(FUSION_NEXT_IMPL_06052005_0900)
+#define FUSION_NEXT_IMPL_06052005_0900
+
+#include <boost/fusion/algorithm/query/detail/find_if.hpp>
+#include <boost/fusion/iterator/value_of.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/lambda.hpp>
+#include <boost/mpl/quote.hpp>
+#include <boost/mpl/bind.hpp>
+#include <boost/mpl/placeholders.hpp>
+
+namespace boost { namespace fusion
+{
+ struct filter_view_iterator_tag;
+
+ template <typename Category, typename First, typename Last, typename Pred>
+ struct filter_iterator;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct next_impl;
+
+ template <>
+ struct next_impl<filter_view_iterator_tag>
+ {
+ template <typename Iterator>
+ struct apply
+ {
+ typedef typename Iterator::first_type first_type;
+ typedef typename Iterator::last_type last_type;
+ typedef typename Iterator::pred_type pred_type;
+ typedef typename Iterator::category category;
+
+ typedef typename
+ mpl::eval_if<
+ result_of::equal_to<first_type, last_type>
+ , mpl::identity<last_type>
+ , result_of::next<first_type>
+ >::type
+ next_type;
+
+ typedef typename
+ detail::static_find_if<
+ next_type
+ , last_type
+ , mpl::bind1<
+ typename mpl::lambda<pred_type>::type
+ , mpl::bind1<mpl::quote1<result_of::value_of>,mpl::_1>
+ >
+ >
+ filter;
+
+ typedef filter_iterator<
+ category, typename filter::type, last_type, pred_type>
+ type;
+
+ static type
+ call(Iterator const& i)
+ {
+ return type(filter::iter_call(i.first));
+ }
+ };
+ };
+ }
+}}
+
+#endif
+
+
diff --git a/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/size_impl.hpp b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/size_impl.hpp
new file mode 100644
index 0000000..158ee01
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/size_impl.hpp
@@ -0,0 +1,38 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+
+ 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(FUSION_SIZE_IMPL_09232005_1058)
+#define FUSION_SIZE_IMPL_09232005_1058
+
+#include <boost/fusion/iterator/distance.hpp>
+#include <boost/fusion/sequence/intrinsic/begin.hpp>
+#include <boost/fusion/sequence/intrinsic/end.hpp>
+
+namespace boost { namespace fusion
+{
+ struct filter_view_tag;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct size_impl;
+
+ template <>
+ struct size_impl<filter_view_tag>
+ {
+ template <typename Sequence>
+ struct apply
+ : result_of::distance<
+ typename result_of::begin<Sequence>::type
+ , typename result_of::end<Sequence>::type>
+ {};
+ };
+ }
+}}
+
+#endif
+
+
diff --git a/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp
new file mode 100644
index 0000000..38d1bdc
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp
@@ -0,0 +1,28 @@
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
+#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
+
+#include <boost/fusion/iterator/value_of_data.hpp>
+
+namespace boost { namespace fusion { namespace extension
+{
+ template <typename>
+ struct value_of_data_impl;
+
+ template <>
+ struct value_of_data_impl<filter_view_iterator_tag>
+ {
+ template <typename It>
+ struct apply
+ : result_of::value_of_data<typename It::first_type>
+ {};
+ };
+}}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/value_of_impl.hpp b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/value_of_impl.hpp
new file mode 100644
index 0000000..ad4ba61
--- /dev/null
+++ b/3rdParty/Boost/src/boost/fusion/view/filter_view/detail/value_of_impl.hpp
@@ -0,0 +1,29 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+
+ 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(FUSION_VALUE_OF_IMPL_05062005_0857)
+#define FUSION_VALUE_OF_IMPL_05062005_0857
+
+#include <boost/fusion/iterator/detail/adapt_value_traits.hpp>
+
+namespace boost { namespace fusion
+{
+ struct filter_view_iterator_tag;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct value_of_impl;
+
+ template <>
+ struct value_of_impl<filter_view_iterator_tag>
+ : detail::adapt_value_traits {};
+ }
+}}
+
+#endif
+
+