1.1 --- a/epoc32/include/stdapis/boost/lambda/detail/lambda_fwd.hpp Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/stdapis/boost/lambda/detail/lambda_fwd.hpp Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,57 +1,74 @@
1.4 +// lambda_fwd.hpp - Boost Lambda Library -------------------------------
1.5
1.6 -#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
1.7 -#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
1.8 -
1.9 -// Copyright Aleksey Gurtovoy 2001-2004
1.10 +// Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi@cs.utu.fi)
1.11 //
1.12 -// Distributed under the Boost Software License, Version 1.0.
1.13 -// (See accompanying file LICENSE_1_0.txt or copy at
1.14 +// Distributed under the Boost Software License, Version 1.0. (See
1.15 +// accompanying file LICENSE_1_0.txt or copy at
1.16 // http://www.boost.org/LICENSE_1_0.txt)
1.17 //
1.18 -// See http://www.boost.org/libs/mpl for documentation.
1.19 +// For more information, see www.boost.org
1.20
1.21 -// $Source: /cvsroot/boost/boost/boost/mpl/lambda_fwd.hpp,v $
1.22 -// $Date: 2004/09/02 15:40:41 $
1.23 -// $Revision: 1.7 $
1.24 +// -------------------------------------------------------
1.25
1.26 -#include <boost/mpl/void_fwd.hpp>
1.27 -#include <boost/mpl/aux_/na.hpp>
1.28 -#include <boost/mpl/aux_/config/lambda.hpp>
1.29 +#ifndef BOOST_LAMBDA_FWD_HPP
1.30 +#define BOOST_LAMBDA_FWD_HPP
1.31
1.32 -#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
1.33 +namespace boost {
1.34 +namespace lambda {
1.35
1.36 -# include <boost/mpl/int.hpp>
1.37 -# include <boost/mpl/aux_/lambda_arity_param.hpp>
1.38 -# include <boost/mpl/aux_/template_arity_fwd.hpp>
1.39 +namespace detail {
1.40
1.41 -namespace boost { namespace mpl {
1.42 +template<class T> struct generate_error;
1.43
1.44 -template<
1.45 - typename T = na
1.46 - , typename Tag = void_
1.47 - BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
1.48 - typename Arity = int_< aux::template_arity<T>::value >
1.49 - )
1.50 - >
1.51 -struct lambda;
1.52 +}
1.53 +// -- placeholders --------------------------------------------
1.54
1.55 -}}
1.56 +template <int I> struct placeholder;
1.57
1.58 -#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
1.59 +// function_adaptors
1.60 +template <class Func>
1.61 +struct function_adaptor;
1.62
1.63 -# include <boost/mpl/bool.hpp>
1.64 +template <int I, class Act> class action;
1.65
1.66 -namespace boost { namespace mpl {
1.67 +template <class Base>
1.68 +class lambda_functor;
1.69
1.70 -template<
1.71 - typename T = na
1.72 - , typename Tag = void_
1.73 - , typename Protect = true_
1.74 - >
1.75 -struct lambda;
1.76 +template <class Act, class Args>
1.77 +class lambda_functor_base;
1.78
1.79 -}}
1.80 +} // namespace lambda
1.81 +} // namespace boost
1.82 +
1.83 +
1.84 +// #define CALL_TEMPLATE_ARGS class A, class Env
1.85 +// #define CALL_FORMAL_ARGS A& a, Env& env
1.86 +// #define CALL_ACTUAL_ARGS a, env
1.87 +// #define CALL_ACTUAL_ARGS_NO_ENV a
1.88 +// #define CALL_REFERENCE_TYPES A&, Env&
1.89 +// #define CALL_PLAIN_TYPES A, Env
1.90 +#define CALL_TEMPLATE_ARGS class A, class B, class C, class Env
1.91 +#define CALL_FORMAL_ARGS A& a, B& b, C& c, Env& env
1.92 +#define CALL_ACTUAL_ARGS a, b, c, env
1.93 +#define CALL_ACTUAL_ARGS_NO_ENV a, b, c
1.94 +#define CALL_REFERENCE_TYPES A&, B&, C&, Env&
1.95 +#define CALL_PLAIN_TYPES A, B, C, Env
1.96 +
1.97 +namespace boost {
1.98 +namespace lambda {
1.99 +namespace detail {
1.100 +
1.101 +template<class A1, class A2, class A3, class A4>
1.102 +void do_nothing(A1&, A2&, A3&, A4&) {}
1.103 +
1.104 +} // detail
1.105 +} // lambda
1.106 +} // boost
1.107 +
1.108 +// prevent the warnings from unused arguments
1.109 +#define CALL_USE_ARGS \
1.110 +::boost::lambda::detail::do_nothing(a, b, c, env)
1.111 +
1.112 +
1.113
1.114 #endif
1.115 -
1.116 -#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED