diff options
Diffstat (limited to 'boost/phoenix/bind/detail/function_ptr.hpp')
-rw-r--r-- | boost/phoenix/bind/detail/function_ptr.hpp | 151 |
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) |