epoc32/include/stdapis/boost/lambda/detail/lambda_fwd.hpp
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     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