epoc32/include/stdapis/boost/lambda/core.hpp
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 // -- core.hpp -- Boost Lambda Library -------------------------------------
     2 //
     3 // Copyright (C) 2000 Gary Powell (powellg@amazon.com)
     4 // Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi@cs.utu.fi)
     5 //
     6 // Distributed under the Boost Software License, Version 1.0. (See
     7 // accompanying file LICENSE_1_0.txt or copy at
     8 // http://www.boost.org/LICENSE_1_0.txt)
     9 //
    10 // For more information, see www.boost.org
    11 // 
    12 // Includes the core of LL, without any real features for client:
    13 // 
    14 // tuples, lambda functors, return type deduction templates,
    15 // argument substitution mechanism (select functions)
    16 // 
    17 // Some functionality comes as well:
    18 // Assignment and subscript operators, as well as function
    19 // call operator for placeholder variables.
    20 // -------------------------------------------------------------------------
    21 
    22 #ifndef BOOST_LAMBDA_CORE_HPP
    23 #define BOOST_LAMBDA_CORE_HPP
    24 
    25 #include "boost/type_traits/transform_traits.hpp"
    26 #include "boost/type_traits/cv_traits.hpp"
    27 
    28 #include "boost/tuple/tuple.hpp"
    29 
    30 // inject some of the tuple names into lambda 
    31 namespace boost {
    32 namespace lambda {
    33 
    34 using ::boost::tuples::tuple;
    35 using ::boost::tuples::null_type;
    36 
    37 } // lambda
    38 } // boost
    39 
    40 #include "boost/lambda/detail/lambda_config.hpp"
    41 #include "boost/lambda/detail/lambda_fwd.hpp"
    42 
    43 #include "boost/lambda/detail/arity_code.hpp"
    44 #include "boost/lambda/detail/actions.hpp"
    45 
    46 #include "boost/lambda/detail/lambda_traits.hpp"
    47 
    48 #include "boost/lambda/detail/function_adaptors.hpp"
    49 #include "boost/lambda/detail/return_type_traits.hpp"
    50 
    51 #include "boost/lambda/detail/select_functions.hpp"
    52 
    53 #include "boost/lambda/detail/lambda_functor_base.hpp"
    54 
    55 #include "boost/lambda/detail/lambda_functors.hpp"
    56 
    57 #include "boost/lambda/detail/ret.hpp"
    58 
    59 namespace boost {
    60 namespace lambda {
    61 
    62 namespace {
    63 
    64   // These are constants types and need to be initialised
    65   boost::lambda::placeholder1_type free1 = boost::lambda::placeholder1_type();
    66   boost::lambda::placeholder2_type free2 = boost::lambda::placeholder2_type();
    67   boost::lambda::placeholder3_type free3 = boost::lambda::placeholder3_type();
    68 
    69   boost::lambda::placeholder1_type& _1 = free1;
    70   boost::lambda::placeholder2_type& _2 = free2;
    71   boost::lambda::placeholder3_type& _3 = free3;
    72   // _1, _2, ... naming scheme by Peter Dimov
    73 } // unnamed
    74    
    75 } // lambda
    76 } // boost
    77    
    78    
    79 #endif //BOOST_LAMBDA_CORE_HPP