summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/proto/functional/range')
-rw-r--r--3rdParty/Boost/src/boost/proto/functional/range/begin.hpp51
-rw-r--r--3rdParty/Boost/src/boost/proto/functional/range/empty.hpp34
-rw-r--r--3rdParty/Boost/src/boost/proto/functional/range/end.hpp51
-rw-r--r--3rdParty/Boost/src/boost/proto/functional/range/rbegin.hpp51
-rw-r--r--3rdParty/Boost/src/boost/proto/functional/range/rend.hpp51
-rw-r--r--3rdParty/Boost/src/boost/proto/functional/range/size.hpp45
6 files changed, 283 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/proto/functional/range/begin.hpp b/3rdParty/Boost/src/boost/proto/functional/range/begin.hpp
new file mode 100644
index 0000000..c425a41
--- /dev/null
+++ b/3rdParty/Boost/src/boost/proto/functional/range/begin.hpp
@@ -0,0 +1,51 @@
+///////////////////////////////////////////////////////////////////////////////
+/// \file begin.hpp
+/// Proto callables for boost::begin()
+//
+// Copyright 2012 Eric Niebler. 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_PROTO_FUNCTIONAL_RANGE_BEGIN_HPP_EAN_27_08_2012
+#define BOOST_PROTO_FUNCTIONAL_RANGE_BEGIN_HPP_EAN_27_08_2012
+
+#include <boost/range/begin.hpp>
+#include <boost/proto/proto_fwd.hpp>
+
+namespace boost { namespace proto { namespace functional
+{
+
+ // A PolymorphicFunctionObject that wraps boost::begin()
+ struct begin
+ {
+ BOOST_PROTO_CALLABLE()
+
+ template<typename Sig>
+ struct result;
+
+ template<typename This, typename Rng>
+ struct result<This(Rng)>
+ : boost::range_iterator<Rng const>
+ {};
+
+ template<typename This, typename Rng>
+ struct result<This(Rng &)>
+ : boost::range_iterator<Rng>
+ {};
+
+ template<typename Rng>
+ typename boost::range_iterator<Rng>::type operator()(Rng &rng) const
+ {
+ return boost::begin(rng);
+ }
+
+ template<typename Rng>
+ typename boost::range_iterator<Rng const>::type operator()(Rng const &rng) const
+ {
+ return boost::begin(rng);
+ }
+ };
+
+}}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/proto/functional/range/empty.hpp b/3rdParty/Boost/src/boost/proto/functional/range/empty.hpp
new file mode 100644
index 0000000..debb82d
--- /dev/null
+++ b/3rdParty/Boost/src/boost/proto/functional/range/empty.hpp
@@ -0,0 +1,34 @@
+///////////////////////////////////////////////////////////////////////////////
+/// \file empty.hpp
+/// Proto callables for boost::empty()
+//
+// Copyright 2012 Eric Niebler. 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_PROTO_FUNCTIONAL_RANGE_EMPTY_HPP_EAN_27_08_2012
+#define BOOST_PROTO_FUNCTIONAL_RANGE_EMPTY_HPP_EAN_27_08_2012
+
+#include <boost/range/empty.hpp>
+#include <boost/proto/proto_fwd.hpp>
+
+namespace boost { namespace proto { namespace functional
+{
+
+ // A PolymorphicFunctionObject that wraps boost::empty()
+ struct empty
+ {
+ BOOST_PROTO_CALLABLE()
+
+ typedef bool result_type;
+
+ template<typename Rng>
+ bool operator()(Rng const &rng) const
+ {
+ return boost::empty(rng);
+ }
+ };
+
+}}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/proto/functional/range/end.hpp b/3rdParty/Boost/src/boost/proto/functional/range/end.hpp
new file mode 100644
index 0000000..f7506fd
--- /dev/null
+++ b/3rdParty/Boost/src/boost/proto/functional/range/end.hpp
@@ -0,0 +1,51 @@
+///////////////////////////////////////////////////////////////////////////////
+/// \file end.hpp
+/// Proto callables for boost::end()
+//
+// Copyright 2012 Eric Niebler. 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_PROTO_FUNCTIONAL_RANGE_END_HPP_EAN_27_08_2012
+#define BOOST_PROTO_FUNCTIONAL_RANGE_END_HPP_EAN_27_08_2012
+
+#include <boost/range/end.hpp>
+#include <boost/proto/proto_fwd.hpp>
+
+namespace boost { namespace proto { namespace functional
+{
+
+ // A PolymorphicFunctionObject that wraps boost::end()
+ struct end
+ {
+ BOOST_PROTO_CALLABLE()
+
+ template<typename Sig>
+ struct result;
+
+ template<typename This, typename Rng>
+ struct result<This(Rng)>
+ : boost::range_iterator<Rng const>
+ {};
+
+ template<typename This, typename Rng>
+ struct result<This(Rng &)>
+ : boost::range_iterator<Rng>
+ {};
+
+ template<typename Rng>
+ typename boost::range_iterator<Rng>::type operator()(Rng &rng) const
+ {
+ return boost::end(rng);
+ }
+
+ template<typename Rng>
+ typename boost::range_iterator<Rng const>::type operator()(Rng const &rng) const
+ {
+ return boost::end(rng);
+ }
+ };
+
+}}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/proto/functional/range/rbegin.hpp b/3rdParty/Boost/src/boost/proto/functional/range/rbegin.hpp
new file mode 100644
index 0000000..ecb7db9
--- /dev/null
+++ b/3rdParty/Boost/src/boost/proto/functional/range/rbegin.hpp
@@ -0,0 +1,51 @@
+///////////////////////////////////////////////////////////////////////////////
+/// \file rbegin.hpp
+/// Proto callables for boost::rbegin()
+//
+// Copyright 2012 Eric Niebler. 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_PROTO_FUNCTIONAL_RANGE_RBEGIN_HPP_EAN_27_08_2012
+#define BOOST_PROTO_FUNCTIONAL_RANGE_RBEGIN_HPP_EAN_27_08_2012
+
+#include <boost/range/rbegin.hpp>
+#include <boost/proto/proto_fwd.hpp>
+
+namespace boost { namespace proto { namespace functional
+{
+
+ // A PolymorphicFunctionObject that wraps boost::rbegin()
+ struct rbegin
+ {
+ BOOST_PROTO_CALLABLE()
+
+ template<typename Sig>
+ struct result;
+
+ template<typename This, typename Rng>
+ struct result<This(Rng)>
+ : boost::range_reverse_iterator<Rng const>
+ {};
+
+ template<typename This, typename Rng>
+ struct result<This(Rng &)>
+ : boost::range_reverse_iterator<Rng>
+ {};
+
+ template<typename Rng>
+ typename boost::range_reverse_iterator<Rng>::type operator()(Rng &rng) const
+ {
+ return boost::rbegin(rng);
+ }
+
+ template<typename Rng>
+ typename boost::range_reverse_iterator<Rng const>::type operator()(Rng const &rng) const
+ {
+ return boost::rbegin(rng);
+ }
+ };
+
+}}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/proto/functional/range/rend.hpp b/3rdParty/Boost/src/boost/proto/functional/range/rend.hpp
new file mode 100644
index 0000000..5b37782
--- /dev/null
+++ b/3rdParty/Boost/src/boost/proto/functional/range/rend.hpp
@@ -0,0 +1,51 @@
+///////////////////////////////////////////////////////////////////////////////
+/// \file rend.hpp
+/// Proto callables for boost::rend()
+//
+// Copyright 2012 Eric Niebler. 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_PROTO_FUNCTIONAL_RANGE_REND_HPP_EAN_27_08_2012
+#define BOOST_PROTO_FUNCTIONAL_RANGE_REND_HPP_EAN_27_08_2012
+
+#include <boost/range/rend.hpp>
+#include <boost/proto/proto_fwd.hpp>
+
+namespace boost { namespace proto { namespace functional
+{
+
+ // A PolymorphicFunctionObject that wraps boost::rend()
+ struct rend
+ {
+ BOOST_PROTO_CALLABLE()
+
+ template<typename Sig>
+ struct result;
+
+ template<typename This, typename Rng>
+ struct result<This(Rng)>
+ : boost::range_reverse_iterator<Rng const>
+ {};
+
+ template<typename This, typename Rng>
+ struct result<This(Rng &)>
+ : boost::range_reverse_iterator<Rng>
+ {};
+
+ template<typename Rng>
+ typename boost::range_reverse_iterator<Rng>::type operator()(Rng &rng) const
+ {
+ return boost::rend(rng);
+ }
+
+ template<typename Rng>
+ typename boost::range_reverse_iterator<Rng const>::type operator()(Rng const &rng) const
+ {
+ return boost::rend(rng);
+ }
+ };
+
+}}}
+
+#endif
diff --git a/3rdParty/Boost/src/boost/proto/functional/range/size.hpp b/3rdParty/Boost/src/boost/proto/functional/range/size.hpp
new file mode 100644
index 0000000..3fcdda1
--- /dev/null
+++ b/3rdParty/Boost/src/boost/proto/functional/range/size.hpp
@@ -0,0 +1,45 @@
+///////////////////////////////////////////////////////////////////////////////
+/// \file size.hpp
+/// Proto callables for boost::size()
+//
+// Copyright 2012 Eric Niebler. 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_PROTO_FUNCTIONAL_RANGE_SIZE_HPP_EAN_27_08_2012
+#define BOOST_PROTO_FUNCTIONAL_RANGE_SIZE_HPP_EAN_27_08_2012
+
+#include <boost/range/size.hpp>
+#include <boost/proto/proto_fwd.hpp>
+
+namespace boost { namespace proto { namespace functional
+{
+
+ // A PolymorphicFunctionObject that wraps boost::size()
+ struct size
+ {
+ BOOST_PROTO_CALLABLE()
+
+ template<typename Sig>
+ struct result;
+
+ template<typename This, typename Rng>
+ struct result<This(Rng)>
+ : boost::range_size<Rng>
+ {};
+
+ template<typename This, typename Rng>
+ struct result<This(Rng &)>
+ : boost::range_size<Rng>
+ {};
+
+ template<typename Rng>
+ typename boost::range_size<Rng>::type operator()(Rng const &rng) const
+ {
+ return boost::size(rng);
+ }
+ };
+
+}}}
+
+#endif