/usr/include/boost/lambda/detail
Edit: /usr/include/boost/lambda/detail/bind_functions.hpp (56616B)
// -- bind_functions.hpp -- Boost Lambda Library
//
// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi)
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
//
// For more information, see http://www.boost.org
// ----------------------------------------------------------------
#ifndef BOOST_LAMBDA_BIND_FUNCTIONS_HPP
#define BOOST_LAMBDA_BIND_FUNCTIONS_HPP
namespace boost {
namespace lambda {
#ifdef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
// gcc 2.96 instantiates bind functions it does not even call.
// These instantiations lead to incorrect types in the return type,
// and a compilation error results.
// This tweaking is to prevent the formation of the erroneous type.
namespace detail {
template
struct constify_non_funcs {
typedef typename
detail::IF_type::value,
boost::add_reference,
boost::add_const
>::type type;
};
}
#endif
// 1-argument bind functions --------------------------
#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
template
inline const
lambda_functor<
lambda_functor_base<
action<1, function_action<1, Result> >,
typename detail::bind_tuple_mapper::type
>
>
bind(Result(& a1)()) {
return
lambda_functor_base<
action<1, function_action<1, Result> >,
typename detail::bind_tuple_mapper::type
>
( typename detail::bind_tuple_mapper::type
(a1)
);
}
#endif
#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
template
inline const
lambda_functor<
lambda_functor_base<
action<1, function_action<1> >,
typename detail::bind_tuple_mapper::type
>
>
bind(const Arg1& a1) {
return
lambda_functor_base<
action<1, function_action<1> >,
typename detail::bind_tuple_mapper::type
>
( typename detail::bind_tuple_mapper::type
(a1)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<1, function_action<1, Result> >,
typename detail::bind_tuple_mapper::type
>
>
bind(const Arg1& a1) {
return
lambda_functor_base<
action<1, function_action<1, Result> >,
typename detail::bind_tuple_mapper::type
>
( typename detail::bind_tuple_mapper::type
(a1)
);
}
#else
template
inline const
lambda_functor<
lambda_functor_base<
action<1, function_action<1> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type
>::type
>
>
bind(const Arg1& a1) {
return
lambda_functor_base<
action<1, function_action<1> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type
>::type
(a1)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<1, function_action<1, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type
>::type
>
>
bind(const Arg1& a1) {
return
lambda_functor_base<
action<1, function_action<1, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type
>::type
(a1)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<1, function_action<1, Result> >,
typename detail::bind_tuple_mapper::type
>
>
bind(Result(* const & a1)()) {
return
lambda_functor_base<
action<1, function_action<1, Result> >,
typename detail::bind_tuple_mapper::type
>
( typename detail::bind_tuple_mapper::type
(a1)
);
}
#endif
// 2-argument bind functions --------------------------
#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
template
inline const
lambda_functor<
lambda_functor_base<
action<2, function_action<2, Result> >,
typename detail::bind_tuple_mapper::type
>
>
bind(Result(&a1)(Par1), const Arg2& a2) {
return
lambda_functor_base<
action<2, function_action<2, Result> >,
typename detail::bind_tuple_mapper::type
>
( typename detail::bind_tuple_mapper::type
(a1, a2)
);
}
#endif
#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
template
inline const
lambda_functor<
lambda_functor_base<
action<2, function_action<2> >,
typename detail::bind_tuple_mapper::type
>
>
bind(const Arg1& a1, const Arg2& a2) {
return
lambda_functor_base<
action<2, function_action<2> >,
typename detail::bind_tuple_mapper::type
>
( typename detail::bind_tuple_mapper::type
(a1, a2)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<2, function_action<2, Result> >,
typename detail::bind_tuple_mapper::type
>
>
bind(const Arg1& a1, const Arg2& a2) {
return
lambda_functor_base<
action<2, function_action<2, Result> >,
typename detail::bind_tuple_mapper::type
>
( typename detail::bind_tuple_mapper::type
(a1, a2)
);
}
#else
template
inline const
lambda_functor<
lambda_functor_base<
action<2, function_action<2> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2
>::type
>
>
bind(const Arg1& a1, const Arg2& a2) {
return
lambda_functor_base<
action<2, function_action<2> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2
>::type
(a1, a2)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<2, function_action<2, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2
>::type
>
>
bind(const Arg1& a1, const Arg2& a2) {
return
lambda_functor_base<
action<2, function_action<2, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2
>::type
(a1, a2)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<2, function_action<2, Result> >,
typename detail::bind_tuple_mapper::type
>
>
bind(Result(* const & a1)(Par1), const Arg2& a2) {
return
lambda_functor_base<
action<2, function_action<2, Result> >,
typename detail::bind_tuple_mapper::type
>
( typename detail::bind_tuple_mapper::type
(a1, a2)
);
}
#endif
// 3-argument bind functions --------------------------
#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
template
inline const
lambda_functor<
lambda_functor_base<
action<3, function_action<3, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2), const Arg2, const Arg3
>::type
>
>
bind(Result(&a1)(Par1, Par2), const Arg2& a2, const Arg3& a3) {
return
lambda_functor_base<
action<3, function_action<3, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2), const Arg2, const Arg3
>::type
>
( typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2), const Arg2, const Arg3
>::type
(a1, a2, a3)
);
}
#endif
#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
template
inline const
lambda_functor<
lambda_functor_base<
action<3, function_action<3> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
return
lambda_functor_base<
action<3, function_action<3> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3
>::type
(a1, a2, a3)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<3, function_action<3, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
return
lambda_functor_base<
action<3, function_action<3, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3
>::type
(a1, a2, a3)
);
}
#else
template
inline const
lambda_functor<
lambda_functor_base<
action<3, function_action<3> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
return
lambda_functor_base<
action<3, function_action<3> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3
>::type
(a1, a2, a3)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<3, function_action<3, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
return
lambda_functor_base<
action<3, function_action<3, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3
>::type
(a1, a2, a3)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<3, function_action<3, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2), const Arg2, const Arg3
>::type
>
>
bind(Result(* const & a1)(Par1, Par2), const Arg2& a2, const Arg3& a3) {
return
lambda_functor_base<
action<3, function_action<3, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2), const Arg2, const Arg3
>::type
>
( typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2), const Arg2, const Arg3
>::type
(a1, a2, a3)
);
}
#endif
// 4-argument bind functions --------------------------
#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
template
inline const
lambda_functor<
lambda_functor_base<
action<4, function_action<4, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
>::type
>
>
bind(Result(&a1)(Par1, Par2, Par3), const Arg2& a2, const Arg3& a3,
const Arg4& a4) {
return
lambda_functor_base<
action<4, function_action<4, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
>::type
>
( typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
>::type
(a1, a2, a3, a4)
);
}
#endif
#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
template
inline const
lambda_functor<
lambda_functor_base<
action<4, function_action<4> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
return
lambda_functor_base<
action<4, function_action<4> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4
>::type
(a1, a2, a3, a4)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<4, function_action<4, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
return
lambda_functor_base<
action<4, function_action<4, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4
>::type
(a1, a2, a3, a4)
);
}
#else
template
inline const
lambda_functor<
lambda_functor_base<
action<4, function_action<4> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
return
lambda_functor_base<
action<4, function_action<4> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4
>::type
(a1, a2, a3, a4)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<4, function_action<4, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
return
lambda_functor_base<
action<4, function_action<4, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4
>::type
(a1, a2, a3, a4)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<4, function_action<4, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
>::type
>
>
bind(Result(* const & a1)(Par1, Par2, Par3), const Arg2& a2,
const Arg3& a3, const Arg4& a4) {
return
lambda_functor_base<
action<4, function_action<4, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
>::type
>
( typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
>::type
(a1, a2, a3, a4)
);
}
#endif
// 5-argument bind functions --------------------------
#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
template
inline const
lambda_functor<
lambda_functor_base<
action<5, function_action<5, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
const Arg5
>::type
>
>
bind(Result(&a1)(Par1, Par2, Par3, Par4), const Arg2& a2, const Arg3& a3,
const Arg4& a4, const Arg5& a5) {
return
lambda_functor_base<
action<5, function_action<5, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
const Arg5
>::type
>
( typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
const Arg5
>::type
(a1, a2, a3, a4, a5)
);
}
#endif
#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
template
inline const
lambda_functor<
lambda_functor_base<
action<5, function_action<5> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5) {
return
lambda_functor_base<
action<5, function_action<5> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
>::type
(a1, a2, a3, a4, a5)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<5, function_action<5, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5) {
return
lambda_functor_base<
action<5, function_action<5, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
>::type
(a1, a2, a3, a4, a5)
);
}
#else
template
inline const
lambda_functor<
lambda_functor_base<
action<5, function_action<5> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5) {
return
lambda_functor_base<
action<5, function_action<5> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5
>::type
(a1, a2, a3, a4, a5)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<5, function_action<5, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5) {
return
lambda_functor_base<
action<5, function_action<5, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5
>::type
(a1, a2, a3, a4, a5)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<5, function_action<5, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
const Arg5
>::type
>
>
bind(Result(* const & a1)(Par1, Par2, Par3, Par4), const Arg2& a2,
const Arg3& a3, const Arg4& a4, const Arg5& a5) {
return
lambda_functor_base<
action<5, function_action<5, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
const Arg5
>::type
>
( typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
const Arg5
>::type
(a1, a2, a3, a4, a5)
);
}
#endif
// 6-argument bind functions --------------------------
#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
template
inline const
lambda_functor<
lambda_functor_base<
action<6, function_action<6, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6
>::type
>
>
bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5), const Arg2& a2,
const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6) {
return
lambda_functor_base<
action<6, function_action<6, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6
>::type
>
( typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6
>::type
(a1, a2, a3, a4, a5, a6)
);
}
#endif
#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
template
inline const
lambda_functor<
lambda_functor_base<
action<6, function_action<6> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6) {
return
lambda_functor_base<
action<6, function_action<6> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
>::type
(a1, a2, a3, a4, a5, a6)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<6, function_action<6, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6) {
return
lambda_functor_base<
action<6, function_action<6, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
>::type
(a1, a2, a3, a4, a5, a6)
);
}
#else
template
inline const
lambda_functor<
lambda_functor_base<
action<6, function_action<6> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6) {
return
lambda_functor_base<
action<6, function_action<6> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6
>::type
(a1, a2, a3, a4, a5, a6)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<6, function_action<6, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6) {
return
lambda_functor_base<
action<6, function_action<6, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6
>::type
(a1, a2, a3, a4, a5, a6)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<6, function_action<6, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6
>::type
>
>
bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5), const Arg2& a2,
const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6) {
return
lambda_functor_base<
action<6, function_action<6, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6
>::type
>
( typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6
>::type
(a1, a2, a3, a4, a5, a6)
);
}
#endif
// 7-argument bind functions --------------------------
#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
template
inline const
lambda_functor<
lambda_functor_base<
action<7, function_action<7, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7
>::type
>
>
bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2& a2,
const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6,
const Arg7& a7) {
return
lambda_functor_base<
action<7, function_action<7, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7
>::type
>
( typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7
>::type
(a1, a2, a3, a4, a5, a6, a7)
);
}
#endif
#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
template
inline const
lambda_functor<
lambda_functor_base<
action<7, function_action<7> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7) {
return
lambda_functor_base<
action<7, function_action<7> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7
>::type
(a1, a2, a3, a4, a5, a6, a7)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<7, function_action<7, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7) {
return
lambda_functor_base<
action<7, function_action<7, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7
>::type
(a1, a2, a3, a4, a5, a6, a7)
);
}
#else
template
inline const
lambda_functor<
lambda_functor_base<
action<7, function_action<7> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7) {
return
lambda_functor_base<
action<7, function_action<7> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
>::type
(a1, a2, a3, a4, a5, a6, a7)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<7, function_action<7, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7) {
return
lambda_functor_base<
action<7, function_action<7, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
>::type
(a1, a2, a3, a4, a5, a6, a7)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<7, function_action<7, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7
>::type
>
>
bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6),
const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
const Arg6& a6, const Arg7& a7) {
return
lambda_functor_base<
action<7, function_action<7, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7
>::type
>
( typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7
>::type
(a1, a2, a3, a4, a5, a6, a7)
);
}
#endif
// 8-argument bind functions --------------------------
#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
template
inline const
lambda_functor<
lambda_functor_base<
action<8, function_action<8, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
>
>
bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2& a2,
const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6,
const Arg7& a7, const Arg8& a8) {
return
lambda_functor_base<
action<8, function_action<8, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
>
( typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
(a1, a2, a3, a4, a5, a6, a7, a8)
);
}
#endif
#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
template
inline const
lambda_functor<
lambda_functor_base<
action<8, function_action<8> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7, const Arg8
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
return
lambda_functor_base<
action<8, function_action<8> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8
>::type
(a1, a2, a3, a4, a5, a6, a7, a8)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<8, function_action<8, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7, const Arg8
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
return
lambda_functor_base<
action<8, function_action<8, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8
>::type
(a1, a2, a3, a4, a5, a6, a7, a8)
);
}
#else
template
inline const
lambda_functor<
lambda_functor_base<
action<8, function_action<8> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
return
lambda_functor_base<
action<8, function_action<8> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
(a1, a2, a3, a4, a5, a6, a7, a8)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<8, function_action<8, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
return
lambda_functor_base<
action<8, function_action<8, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
(a1, a2, a3, a4, a5, a6, a7, a8)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<8, function_action<8, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
>
>
bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7),
const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
const Arg6& a6, const Arg7& a7, const Arg8& a8) {
return
lambda_functor_base<
action<8, function_action<8, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
>
( typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
>::type
(a1, a2, a3, a4, a5, a6, a7, a8)
);
}
#endif
// 9-argument bind functions --------------------------
#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
template
inline const
lambda_functor<
lambda_functor_base<
action<9, function_action<9, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8,
const Arg9
>::type
>
>
bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8),
const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9) {
return
lambda_functor_base<
action<9, function_action<9, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9
>::type
>
( typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9)
);
}
#endif
#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
template
inline const
lambda_functor<
lambda_functor_base<
action<9, function_action<9> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7, const Arg8, const Arg9
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
const Arg9& a9) {
return
lambda_functor_base<
action<9, function_action<9> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8, const Arg9
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8, const Arg9
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<9, function_action<9, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7, const Arg8, const Arg9
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
const Arg9& a9) {
return
lambda_functor_base<
action<9, function_action<9, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8, const Arg9
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8, const Arg9
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9)
);
}
#else
template
inline const
lambda_functor<
lambda_functor_base<
action<9, function_action<9> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
const Arg9& a9) {
return
lambda_functor_base<
action<9, function_action<9> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<9, function_action<9, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
const Arg9& a9) {
return
lambda_functor_base<
action<9, function_action<9, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<9, function_action<9, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8,
const Arg9
>::type
>
>
bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8),
const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9) {
return
lambda_functor_base<
action<9, function_action<9, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9
>::type
>
( typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9)
);
}
#endif
// 10-argument bind functions --------------------------
#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
template
inline const
lambda_functor<
lambda_functor_base<
action<10, function_action<10, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
const Arg2, const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9, const Arg10
>::type
>
>
bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9,
const Arg10& a10) {
return
lambda_functor_base<
action<10, function_action<10, Result> >,
typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7, const Arg8, const Arg9, const Arg10
>::type
>
( typename detail::bind_tuple_mapper<
Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7, const Arg8, const Arg9, const Arg10
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
);
}
#endif
#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
template
inline const
lambda_functor<
lambda_functor_base<
action<10, function_action<10> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7, const Arg8, const Arg9, const Arg10
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
const Arg9& a9, const Arg10& a10) {
return
lambda_functor_base<
action<10, function_action<10> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<10, function_action<10, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7, const Arg8, const Arg9, const Arg10
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
const Arg9& a9, const Arg10& a10) {
return
lambda_functor_base<
action<10, function_action<10, Result> >,
typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
>::type
>
( typename detail::bind_tuple_mapper<
const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
);
}
#else
template
inline const
lambda_functor<
lambda_functor_base<
action<10, function_action<10> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9,
const Arg10
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
const Arg9& a9, const Arg10& a10) {
return
lambda_functor_base<
action<10, function_action<10> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9, const Arg10
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9, const Arg10
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<10, function_action<10, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2, const Arg3,
const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9,
const Arg10
>::type
>
>
bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
const Arg9& a9, const Arg10& a10) {
return
lambda_functor_base<
action<10, function_action<10, Result> >,
typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9, const Arg10
>::type
>
( typename detail::bind_tuple_mapper<
typename detail::constify_non_funcs::type, const Arg2,
const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9, const Arg10
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
);
}
template
inline const
lambda_functor<
lambda_functor_base<
action<10, function_action<10, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
const Arg2, const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
const Arg8, const Arg9, const Arg10
>::type
>
>
bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8,
Par9), const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9,
const Arg10& a10) {
return
lambda_functor_base<
action<10, function_action<10, Result> >,
typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7, const Arg8, const Arg9, const Arg10
>::type
>
( typename detail::bind_tuple_mapper<
Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
const Arg7, const Arg8, const Arg9, const Arg10
>::type
(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
);
}
#endif
} // namespace lambda
} // namespace boost
#endif