summaryrefslogtreecommitdiff
path: root/boost/phoenix/bind/detail/function_ptr.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/phoenix/bind/detail/function_ptr.hpp')
-rw-r--r--boost/phoenix/bind/detail/function_ptr.hpp151
1 files changed, 0 insertions, 151 deletions
diff --git a/boost/phoenix/bind/detail/function_ptr.hpp b/boost/phoenix/bind/detail/function_ptr.hpp
deleted file mode 100644
index 0764b4a96d..0000000000
--- a/boost/phoenix/bind/detail/function_ptr.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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 !BOOST_PHOENIX_IS_ITERATING
-
-#ifndef BOOST_PHOENIX_BIND_DETAIL_FUNCTION_PTR_HPP
-#define BOOST_PHOENIX_BIND_DETAIL_FUNCTION_PTR_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/support/iterate.hpp>
-
-namespace boost { namespace phoenix { namespace detail
-{
- template <int N, typename Dummy = void>
- struct function_ptr_impl
- {
- template <typename RT, typename FP>
- struct impl;
- };
-
- template <int N, typename RT, typename FP>
- struct function_ptr : function_ptr_impl<N>::template impl<RT, FP>
- {
- typedef typename function_ptr_impl<N>::template impl<RT, FP> base;
-
- function_ptr(FP fp_)
- : base(fp_) {}
-
- using base::fp;
-
- bool operator==(function_ptr const & rhs) const
- {
- return fp == rhs.fp;
- }
-
- template <int M, typename RhsRT, typename RhsFP>
- bool operator==(function_ptr<M, RhsRT, RhsFP> const & /*rhs*/) const
- {
- return false;
- }
-
- };
-
- template <typename Dummy>
- struct function_ptr_impl<0, Dummy>
- {
- template <typename RT, typename FP>
- struct impl
- {
- typedef RT result_type;
-
- impl(FP fp_)
- : fp(fp_) {}
-
- RT operator()() const
- {
- return fp();
- }
-
- FP fp;
- };
- };
-
- template <typename Dummy>
- struct function_ptr_impl<1, Dummy>
- {
- template <typename RT, typename FP>
- struct impl
- {
- typedef RT result_type;
-
- impl(FP fp_)
- : fp(fp_) {}
-
- template <typename A>
- RT operator()(A &a) const
- {
- return fp(a);
- }
-
- FP fp;
- };
- };
-
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
- #include <boost/phoenix/bind/detail/preprocessed/function_ptr.hpp>
-#else
-
-#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 2, line: 0, output: "preprocessed/function_ptr_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-
-/*=============================================================================
- Copyright (c) 2001-2007 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 1)
-#endif
-
-#define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (2, BOOST_PHOENIX_COMPOSITE_LIMIT, \
- <boost/phoenix/bind/detail/function_ptr.hpp>))
-#include BOOST_PHOENIX_ITERATE()
-
-#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
- #pragma wave option(output: null)
-#endif
-
-#endif
-
-}}} // namespace boost::phoenix::detail
-
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-#else // defined(BOOST_PP_IS_ITERATING)
-
- template <typename Dummy>
- struct function_ptr_impl<BOOST_PHOENIX_ITERATION, Dummy>
- {
- template <typename RT, typename FP>
- struct impl
- {
- typedef RT result_type;
-
- impl(FP fp_)
- : fp(fp_) {}
-
- template <BOOST_PHOENIX_typename_A>
- RT operator()(BOOST_PHOENIX_A_ref_a) const
- {
- return fp(BOOST_PHOENIX_a);
- }
-
- FP fp;
- };
- };
-
-#endif // defined(BOOST_PP_IS_ITERATING)