File indexing completed on 2025-01-18 09:39:07
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef BOOST_LAMBDA_FWD_HPP
0014 #define BOOST_LAMBDA_FWD_HPP
0015
0016 namespace boost {
0017 namespace lambda {
0018
0019 namespace detail {
0020
0021 template<class T> struct generate_error;
0022
0023 }
0024
0025
0026 template <int I> struct placeholder;
0027
0028
0029 template <class Func>
0030 struct function_adaptor;
0031
0032 template <int I, class Act> class action;
0033
0034 template <class Base>
0035 class lambda_functor;
0036
0037 template <class Act, class Args>
0038 class lambda_functor_base;
0039
0040 }
0041 }
0042
0043
0044
0045
0046
0047
0048
0049
0050 #define CALL_TEMPLATE_ARGS class A, class B, class C, class Env
0051 #define CALL_FORMAL_ARGS A& a, B& b, C& c, Env& env
0052 #define CALL_ACTUAL_ARGS a, b, c, env
0053 #define CALL_ACTUAL_ARGS_NO_ENV a, b, c
0054 #define CALL_REFERENCE_TYPES A&, B&, C&, Env&
0055 #define CALL_PLAIN_TYPES A, B, C, Env
0056
0057 namespace boost {
0058 namespace lambda {
0059 namespace detail {
0060
0061 template<class A1, class A2, class A3, class A4>
0062 void do_nothing(A1&, A2&, A3&, A4&) {}
0063
0064 }
0065 }
0066 }
0067
0068
0069 #define CALL_USE_ARGS \
0070 ::boost::lambda::detail::do_nothing(a, b, c, env)
0071
0072
0073
0074 #endif