1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/boost/lambda/core.hpp Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -0,0 +1,79 @@
1.4 +// -- core.hpp -- Boost Lambda Library -------------------------------------
1.5 +//
1.6 +// Copyright (C) 2000 Gary Powell (powellg@amazon.com)
1.7 +// Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi@cs.utu.fi)
1.8 +//
1.9 +// Distributed under the Boost Software License, Version 1.0. (See
1.10 +// accompanying file LICENSE_1_0.txt or copy at
1.11 +// http://www.boost.org/LICENSE_1_0.txt)
1.12 +//
1.13 +// For more information, see www.boost.org
1.14 +//
1.15 +// Includes the core of LL, without any real features for client:
1.16 +//
1.17 +// tuples, lambda functors, return type deduction templates,
1.18 +// argument substitution mechanism (select functions)
1.19 +//
1.20 +// Some functionality comes as well:
1.21 +// Assignment and subscript operators, as well as function
1.22 +// call operator for placeholder variables.
1.23 +// -------------------------------------------------------------------------
1.24 +
1.25 +#ifndef BOOST_LAMBDA_CORE_HPP
1.26 +#define BOOST_LAMBDA_CORE_HPP
1.27 +
1.28 +#include "boost/type_traits/transform_traits.hpp"
1.29 +#include "boost/type_traits/cv_traits.hpp"
1.30 +
1.31 +#include "boost/tuple/tuple.hpp"
1.32 +
1.33 +// inject some of the tuple names into lambda
1.34 +namespace boost {
1.35 +namespace lambda {
1.36 +
1.37 +using ::boost::tuples::tuple;
1.38 +using ::boost::tuples::null_type;
1.39 +
1.40 +} // lambda
1.41 +} // boost
1.42 +
1.43 +#include "boost/lambda/detail/lambda_config.hpp"
1.44 +#include "boost/lambda/detail/lambda_fwd.hpp"
1.45 +
1.46 +#include "boost/lambda/detail/arity_code.hpp"
1.47 +#include "boost/lambda/detail/actions.hpp"
1.48 +
1.49 +#include "boost/lambda/detail/lambda_traits.hpp"
1.50 +
1.51 +#include "boost/lambda/detail/function_adaptors.hpp"
1.52 +#include "boost/lambda/detail/return_type_traits.hpp"
1.53 +
1.54 +#include "boost/lambda/detail/select_functions.hpp"
1.55 +
1.56 +#include "boost/lambda/detail/lambda_functor_base.hpp"
1.57 +
1.58 +#include "boost/lambda/detail/lambda_functors.hpp"
1.59 +
1.60 +#include "boost/lambda/detail/ret.hpp"
1.61 +
1.62 +namespace boost {
1.63 +namespace lambda {
1.64 +
1.65 +namespace {
1.66 +
1.67 + // These are constants types and need to be initialised
1.68 + boost::lambda::placeholder1_type free1 = boost::lambda::placeholder1_type();
1.69 + boost::lambda::placeholder2_type free2 = boost::lambda::placeholder2_type();
1.70 + boost::lambda::placeholder3_type free3 = boost::lambda::placeholder3_type();
1.71 +
1.72 + boost::lambda::placeholder1_type& _1 = free1;
1.73 + boost::lambda::placeholder2_type& _2 = free2;
1.74 + boost::lambda::placeholder3_type& _3 = free3;
1.75 + // _1, _2, ... naming scheme by Peter Dimov
1.76 +} // unnamed
1.77 +
1.78 +} // lambda
1.79 +} // boost
1.80 +
1.81 +
1.82 +#endif //BOOST_LAMBDA_CORE_HPP