2
0
mirror of https://github.com/boostorg/lambda.git synced 2026-01-21 04:52:25 +00:00

lambda_development branch creation

[SVN r11711]
This commit is contained in:
Jaakko Järvi
2001-11-15 20:47:16 +00:00
parent e6525e8694
commit b376ba2fcf
8 changed files with 2470 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
// -- bind.hpp -- Boost Lambda Library --------------------------------------
// Copyright (C) 1999-2001 Jaakko Järvi (jaakko.jarvi@cs.utu.fi)
// Gary Powell (gwpowell@hotmail.com)
//
// Permission to copy, use, sell and distribute this software is granted
// provided this copyright notice appears in all copies.
// Permission to modify the code and to distribute modified code is granted
// provided this copyright notice appears in all copies, and a notice
// that the code was modified is included with the copyright notice.
//
// This software is provided "as is" without express or implied warranty,
// and with no claim as to its suitability for any purpose.
//
// For more information, see http://www.boost.org
#ifndef BOOST_LAMBDA_BIND_HPP
#define BOOST_LAMBDA_BIND_HPP
#include "boost/lambda/core.hpp"
#include "boost/lambda/detail/bind_functions.hpp"
//#include "bind/make_void.hpp"
//#include "bind/ret.hpp"
#endif

View File

@@ -0,0 +1,217 @@
// - casts.hpp -- BLambda Library -------------
//
// Copyright (C) 2000 Gary Powell (gary.powell@sierra.com)
// Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi@cs.utu.fi)
//
// Permission to copy, use, sell and distribute this software is granted
// provided this copyright notice appears in all copies.
// Permission to modify the code and to distribute modified code is granted
// provided this copyright notice appears in all copies, and a notice
// that the code was modified is included with the copyright notice.
//
// This software is provided "as is" without express or implied warranty,
// and with no claim as to its suitability for any purpose.
//
// For more information, see http://www.boost.org
// -----------------------------------------------
#if !defined(BOOST_LAMBDA_CASTS_HPP)
#define BOOST_LAMBDA_CASTS_HPP
#include <typeinfo>
namespace boost {
namespace lambda {
template<class T> class cast_action;
template<class T> class static_cast_action;
template<class T> class dynamic_cast_action;
template<class T> class const_cast_action;
template<class T> class reinterpret_cast_action;
class typeid_action;
// Cast actions
template<class T> class cast_action<static_cast_action<T> >
{
public:
template<class RET, class Arg1>
static RET apply(Arg1 &a1) {
return static_cast<RET>(a1);
}
};
template<class T> class cast_action<dynamic_cast_action<T> > {
public:
template<class RET, class Arg1>
static RET apply(Arg1 &a1) {
return dynamic_cast<RET>(a1);
}
};
template<class T> class cast_action<const_cast_action<T> > {
public:
template<class RET, class Arg1>
static RET apply(Arg1 &a1) {
return const_cast<RET>(a1);
}
};
template<class T> class cast_action<reinterpret_cast_action<T> > {
public:
template<class RET, class Arg1>
static RET apply(Arg1 &a1) {
return reinterpret_cast<RET>(a1);
}
};
class typeid_action {
public:
template<class RET, class Arg1>
static RET apply(Arg1 &a1) {
return typeid(a1);
}
};
// return types of casting lambda_functors (all "T" type.)
template<template <class T> class cast_type, class T, class Args, int Code, class Open>
struct return_type<lambda_functor_args<action<1, cast_action< cast_type<T> > >, Args, Code>,
Open>
{
typedef T const type;
};
// return type of typeid_action
template<class Args, int Code, class Open>
struct return_type<lambda_functor_args<action<1, typeid_action >, Args, Code>,
Open>
{
typedef std::type_info const & type;
};
// the four cast & typeid overloads.
// static_cast
template <class T, class Arg1>
inline const lambda_functor<
lambda_functor_args<
action<1,
cast_action<static_cast_action<T> >
>,
tuple<typename const_copy_argument <const Arg1>::type>,
dig_arity<Arg1>::value
>
>
ll_static_cast(const Arg1& a1) {
return lambda_functor< lambda_functor_args<
action<1,
cast_action<static_cast_action<T> >
>,
tuple<typename const_copy_argument <const Arg1>::type>,
dig_arity<Arg1>::value> >
( tuple<typename const_copy_argument <const Arg1>::type>(a1));
}
// dynamic_cast
template <class T, class Arg1>
inline const lambda_functor<
lambda_functor_args<
action<1,
cast_action<dynamic_cast_action<T> >
>,
tuple<typename const_copy_argument <const Arg1>::type>,
dig_arity<Arg1>::value
>
>
ll_dynamic_cast(const Arg1& a1) {
return lambda_functor< lambda_functor_args<
action<1,
cast_action<dynamic_cast_action<T> >
>,
tuple<typename const_copy_argument <const Arg1>::type>,
dig_arity<Arg1>::value> >
( tuple<typename const_copy_argument <const Arg1>::type>(a1));
}
// const_cast
template <class T, class Arg1>
inline const lambda_functor<
lambda_functor_args<
action<1,
cast_action<const_cast_action<T> >
>,
tuple<typename const_copy_argument <const Arg1>::type>,
dig_arity<Arg1>::value
>
>
ll_const_cast(const Arg1& a1) {
return lambda_functor< lambda_functor_args<
action<1,
cast_action<const_cast_action<T> >
>,
tuple<typename const_copy_argument <const Arg1>::type>,
dig_arity<Arg1>::value> >
( tuple<typename const_copy_argument <const Arg1>::type>(a1));
}
// reinterpret_cast
template <class T, class Arg1>
inline const lambda_functor<
lambda_functor_args<
action<1,
cast_action<reinterpret_cast_action<T> >
>,
tuple<typename const_copy_argument <const Arg1>::type>,
dig_arity<Arg1>::value
>
>
ll_reinterpret_cast(const Arg1& a1) {
return lambda_functor< lambda_functor_args<
action<1,
cast_action<reinterpret_cast_action<T> >
>,
tuple<typename const_copy_argument <const Arg1>::type>,
dig_arity<Arg1>::value> >
( tuple<typename const_copy_argument <const Arg1>::type>(a1));
}
// typeid
template <class Arg1>
inline const lambda_functor<
lambda_functor_args<
action<1,
typeid_action
>,
tuple<typename const_copy_argument <const Arg1>::type>,
dig_arity<Arg1>::value
>
>
ll_typeid(const Arg1& a1) {
return lambda_functor< lambda_functor_args<
action<1,
typeid_action
>,
tuple<typename const_copy_argument <const Arg1>::type>,
dig_arity<Arg1>::value> >
( tuple<typename const_copy_argument <const Arg1>::type>(a1));
}
} // namespace lambda
} // namespace boost
#endif

View File

@@ -0,0 +1,216 @@
// - construct.hpp -- Lambda Library -------------
//
// Copyright (C) 2000 Gary Powell (gary.powell@sierra.com)
// Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi@cs.utu.fi)
//
// Permission to copy, use, sell and distribute this software is granted
// provided this copyright notice appears in all copies.
// Permission to modify the code and to distribute modified code is granted
// provided this copyright notice appears in all copies, and a notice
// that the code was modified is included with the copyright notice.
//
// This software is provided "as is" without express or implied warranty,
// and with no claim as to its suitability for any purpose.
//
// For more information, see http://www.boost.org
//
// -----------------------------------------------
#if !defined(BOOST_LAMBDA_CONSTRUCT_HPP)
#define BOOST_LAMBDA_CONSTRUCT_HPP
namespace boost {
namespace lambda {
// constructor is used together with bind. constructor<A> creates a bindable
// function object that passes its arguments forward to a constructor call
// of type A
template<class T> struct constructor {
typedef T result_type;
T operator()() const {
return T();
}
template<class A1>
T operator()(A1& a1) const {
return T(a1);
}
template<class A1, class A2>
T operator()(A1& a1, A2& a2) const {
return T(a1, a2);
}
template<class A1, class A2, class A3>
T operator()(A1& a1, A2& a2, A3& a3) const {
return T(a1, a2, a3);
}
template<class A1, class A2, class A3, class A4>
T operator()(A1& a1, A2& a2, A3& a3, A4& a4) const {
return T(a1, a2, a3, a4);
}
template<class A1, class A2, class A3, class A4, class A5>
T operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) const {
return T(a1, a2, a3, a4, a5);
}
template<class A1, class A2, class A3, class A4, class A5, class A6>
T operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) const {
return T(a1, a2, a3, a4, a5, a6);
}
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7>
T operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) const {
return T(a1, a2, a3, a4, a5, a6, a7);
}
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
T operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8) const {
return T(a1, a2, a3, a4, a5, a6, a7, a8);
}
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
T operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9) const {
return T(a1, a2, a3, a4, a5, a6, a7, a8, a9);
}
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10>
T operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10) const {
return T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
}
};
// destructor funtion object
struct destructor {
typedef void result_type;
template<class A1>
void operator()(A1& a1) const {
a1.operator~();
}
template<class A1>
void operator()(A1* a1) const {
a1->~A1();
}
};
// new_ptr is used together with bind.
// note: placement new is not supported
template<class T> struct new_ptr {
typedef T* result_type;
T* operator()() const {
return new T();
}
template<class A1>
T* operator()(A1& a1) const {
return new T(a1);
}
template<class A1, class A2>
T* operator()(A1& a1, A2& a2) const {
return new T(a1, a2);
}
template<class A1, class A2, class A3>
T* operator()(A1& a1, A2& a2, A3& a3) const {
return new T(a1, a2, a3);
}
template<class A1, class A2, class A3, class A4>
T* operator()(A1& a1, A2& a2, A3& a3, A4& a4) const {
return new T(a1, a2, a3, a4);
}
template<class A1, class A2, class A3, class A4, class A5>
T* operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) const {
return new T(a1, a2, a3, a4, a5);
}
template<class A1, class A2, class A3, class A4, class A5, class A6>
T* operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) const {
return new T(a1, a2, a3, a4, a5, a6);
}
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7>
T* operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) const {
return new T(a1, a2, a3, a4, a5, a6, a7);
}
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
T* operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8) const {
return new T(a1, a2, a3, a4, a5, a6, a7, a8);
}
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
T* operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9) const {
return new T(a1, a2, a3, a4, a5, a6, a7, a8, a9);
}
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10>
T* operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10) const {
return new T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
}
};
// delete_ptr return void
struct delete_ptr {
typedef void result_type;
template <class A1>
void operator()(A1& a1) const {
delete a1;
}
};
// new_array is used together with bind.W
template<class T> struct new_array {
typedef T* result_type;
T* operator()(int size) const {
return new T[size];
}
};
// delete_ptr return void
struct delete_array {
typedef void result_type;
template <class A1>
void operator()(A1& a1) const {
delete[] a1;
}
};
} // namespace lambda
} // namespace boost
#endif

View File

@@ -0,0 +1,27 @@
// -- control_structures.hpp -- Boost Lambda Library --------------------------
// Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi@cs.utu.fi)
//
// Permission to copy, use, sell and distribute this software is granted
// provided this copyright notice appears in all copies.
// Permission to modify the code and to distribute modified code is granted
// provided this copyright notice appears in all copies, and a notice
// that the code was modified is included with the copyright notice.
//
// This software is provided "as is" without express or implied warranty,
// and with no claim as to its suitability for any purpose.
//
// For more information, see www.boost.org
#ifndef BOOST_LAMBDA_CONTROL_STRUCTURES_HPP
#define BOOST_LAMBDA_CONTROL_STRUCTURES_HPP
#include "boost/lambda/core.hpp"
// Arithmetic type promotion needed for if_then_else_return
#include "boost/lambda/detail/operator_actions.hpp"
#include "boost/lambda/detail/operator_return_type_traits.hpp"
#include "boost/lambda/detail/control_structures_impl.hpp"
#include "boost/lambda/detail/switch.hpp"
#endif

View File

@@ -0,0 +1,70 @@
// -- core.hpp -- Boost Lambda Library -------------------------------------
//
// Includes the core of LL, without any real features for client:
//
// tuples, lambda functors, return type deduction templates,
// argument substitution mechanism (select functions)
//
// Some functionality comes as well:
// Assignment and subscript operators, as well as function
// call operator for placeholder variables.
// -------------------------------------------------------------------------
#ifndef BOOST_LAMBDA_CORE_HPP
#define BOOST_LAMBDA_CORE_HPP
#include "boost/type_traits/transform_traits.hpp"
#include "boost/type_traits/cv_traits.hpp"
#include "boost/tuple/tuple.hpp"
// inject some of the tuple names into lambda
namespace boost {
namespace lambda {
using ::boost::tuples::tuple;
using ::boost::tuples::null_type;
} // lambda
} // boost
#include "boost/lambda/detail/lambda_config.hpp"
#include "boost/lambda/detail/lambda_fwd.hpp"
#include "boost/lambda/detail/lambda_traits.hpp"
#include "boost/lambda/detail/arity_code.hpp"
#include "boost/lambda/detail/actions.hpp"
#include "boost/lambda/detail/function_adaptors.hpp"
#include "boost/lambda/detail/return_type_traits.hpp"
#include "boost/lambda/detail/select_functions.hpp"
#include "boost/lambda/detail/lambda_functor_base.hpp"
#include "boost/lambda/detail/lambda_functors.hpp"
#include "boost/lambda/detail/ret.hpp"
#include "boost/lambda/detail/make_void.hpp"
namespace boost {
namespace lambda {
namespace {
boost::lambda::free1_type free1;
boost::lambda::free2_type free2;
boost::lambda::free3_type free3;
boost::lambda::free1_type& _1 = free1;
boost::lambda::free2_type& _2 = free2;
boost::lambda::free3_type& _3 = free3;
// _1, _2, ... naming scheme by Peter Dimov
} // unnamed
} // lambda
} // boost
#endif //BOOST_LAMBDA_CORE_HPP

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,32 @@
// -- lambda.hpp -- Boost Lambda Library -----------------------------------
// Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi@cs.utu.fi)
//
// Permission to copy, use, sell and distribute this software is granted
// provided this copyright notice appears in all copies.
// Permission to modify the code and to distribute modified code is granted
// provided this copyright notice appears in all copies, and a notice
// that the code was modified is included with the copyright notice.
//
// This software is provided "as is" without express or implied warranty,
// and with no claim as to its suitability for any purpose.
//
// For more information, see http://lambda.cs.utu.fi
#ifndef BOOST_LAMBDA_LAMBDA_HPP
#define BOOST_LAMBDA_LAMBDA_HPP
#include "boost/lambda/core.hpp"
#include "boost/lambda/detail/operator_actions.hpp"
#include "boost/lambda/detail/operator_lambda_functor_base.hpp"
#include "boost/lambda/detail/operator_return_type_traits.hpp"
#ifdef BOOST_NO_FORWARD_DECLARADED_TEMPLATES_AS_TEMPLATE_TEMPLATE_PARAMETERS
#include <istream>
#include <ostream>
#endif
#include "boost/lambda/detail/operators.hpp"
#endif

View File

@@ -0,0 +1,158 @@
// -- memory.hpp -- Lambda Library -----------------------------------
// Copyright (C) 2000 Gary Powell (gary.powell@sierra.com)
// Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi@cs.utu.fi)
//
// Permission to copy, use, sell and distribute this software is granted
// provided this copyright notice appears in all copies.
// Permission to modify the code and to distribute modified code is granted
// provided this copyright notice appears in all copies, and a notice
// that the code was modified is included with the copyright notice.
//
// This software is provided "as is" without express or implied warranty,
// and with no claim as to its suitability for any purpose.
//
// For more information, see http://lambda.cs.utu.fi
// revision history
// 11 09 00 added details namespace (GWP)
// 10 02 00 Reworked and changed so that the type of the
// object to be 'newed' is given
// as a explicitely specified template parameter, e.g.:
// new_ptr<Foo>(a, b, c)() returns new Foo(a, b, c) (JJ)
// 10 02 00 Initial version (GWP)
//
// Delayed memory creation and deletion
#if !defined(MEMORY_HPP)
#define MEMORY_HPP
#include "ll/details/ll_defines_on.hpp"
#include "ll_advanced/details/ll_memory.hpp"
namespace boost {
namespace lambda {
// new_ptr bind functions.
template <class T>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<0, details::new_ptr_action<0, T> >, ::boost::tuples::nil, ::boost::bind::details::combine_arities<>::value> >
new_ptr() {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<0, details::new_ptr_action<0, T> >, ::boost::tuples::nil, ::boost::bind::details::combine_arities<>::value> >
( ::boost::tuples::nil() );
}
template <class T, class Arg1>
inline const ::boost::bind::details::lambda_functor<
::boost::bind::details::lambda_functor_args<
::boost::bind::details::action<
1,
details::new_ptr_action<1, T>
>,
::boost::tuples::tuple<typename
LL_DEFAULT_BIND_ARGUMENT_CONVERSION
<
LL_CONST Arg1>::type>,
::boost::bind::details::combine_arities<Arg1>::value
>
>
new_ptr(LL_CONST Arg1& a1) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<1, details::new_ptr_action<1, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type>, ::boost::bind::details::combine_arities<Arg1>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type>(a1));
}
template <class T, class Arg1, class Arg2>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<2, details::new_ptr_action<2, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2>::value> >
new_ptr(LL_CONST Arg1& a1, LL_CONST Arg2& a2) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<2, details::new_ptr_action<2, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type>(a1, a2));
}
template <class T, class Arg1, class Arg2, class Arg3>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<3, details::new_ptr_action<3, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3>::value> >
new_ptr(LL_CONST Arg1& a1, LL_CONST Arg2& a2, LL_CONST Arg3& a3) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<3, details::new_ptr_action<3, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type>(a1, a2, a3));
}
template <class T, class Arg1, class Arg2, class Arg3, class Arg4>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<4, details::new_ptr_action<4, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4>::value> >
new_ptr(LL_CONST Arg1& a1, LL_CONST Arg2& a2, LL_CONST Arg3& a3, LL_CONST Arg4& a4) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<4, details::new_ptr_action<4, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type>(a1, a2, a3, a4));
}
template <class T, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<5, details::new_ptr_action<5, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5>::value> >
new_ptr(LL_CONST Arg1& a1, LL_CONST Arg2& a2, LL_CONST Arg3& a3, LL_CONST Arg4& a4, LL_CONST Arg5& a5) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<5, details::new_ptr_action<5, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type>(a1, a2, a3, a4, a5));
}
template <class T, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<6, details::new_ptr_action<6, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>::value> >
new_ptr(LL_CONST Arg1& a1, LL_CONST Arg2& a2, LL_CONST Arg3& a3, LL_CONST Arg4& a4, LL_CONST Arg5& a5, LL_CONST Arg6& a6) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<6, details::new_ptr_action<6, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type>(a1, a2, a3, a4, a5, a6));
}
template <class T, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<7, details::new_ptr_action<7, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7>::value> >
new_ptr(LL_CONST Arg1& a1, LL_CONST Arg2& a2, LL_CONST Arg3& a3, LL_CONST Arg4& a4, LL_CONST Arg5& a5, LL_CONST Arg6& a6, LL_CONST Arg7& a7) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<7, details::new_ptr_action<7, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type>(a1, a2, a3, a4, a5, a6, a7));
}
template <class T, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<8, details::new_ptr_action<8, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg8>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8>::value> >
new_ptr(LL_CONST Arg1& a1, LL_CONST Arg2& a2, LL_CONST Arg3& a3, LL_CONST Arg4& a4, LL_CONST Arg5& a5, LL_CONST Arg6& a6, LL_CONST Arg7& a7, LL_CONST Arg8& a8) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<8, details::new_ptr_action<8, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg8>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg8>::type>(a1, a2, a3, a4, a5, a6, a7, a8));
}
template <class T, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Arg9>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<9, details::new_ptr_action<9, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg8>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg9>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>::value> >
new_ptr(LL_CONST Arg1& a1, LL_CONST Arg2& a2, LL_CONST Arg3& a3, LL_CONST Arg4& a4, LL_CONST Arg5& a5, LL_CONST Arg6& a6, LL_CONST Arg7& a7, LL_CONST Arg8& a8, LL_CONST Arg9& a9) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<9, details::new_ptr_action<9, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg8>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg9>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg8>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg9>::type>(a1, a2, a3, a4, a5, a6, a7, a8, a9));
}
template <class T, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Arg9, class Arg10>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<10, details::new_ptr_action<10, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg8>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg9>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg10>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10>::value> >
new_ptr(LL_CONST Arg1& a1, LL_CONST Arg2& a2, LL_CONST Arg3& a3, LL_CONST Arg4& a4, LL_CONST Arg5& a5, LL_CONST Arg6& a6, LL_CONST Arg7& a7, LL_CONST Arg8& a8, LL_CONST Arg9& a9, LL_CONST Arg10& a10) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<10, details::new_ptr_action<10, T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg8>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg9>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg10>::type>, ::boost::bind::details::combine_arities<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg1>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg2>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg3>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg4>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg5>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg6>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg7>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg8>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg9>::type, typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION <LL_CONST Arg10>::type>(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10));
}
// new_array bind function.
template <class T, class Arg1>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<1, details::new_array_action<T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION<LL_CONST Arg1>::type>, ::boost::bind::details::combine_arities<Arg1>::value> >
new_array(LL_CONST Arg1& a1) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<1, details::new_array_action<T> >, ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION<LL_CONST Arg1>::type>, ::boost::bind::details::combine_arities<Arg1>::value> >
( ::boost::tuples::tuple<typename LL_DEFAULT_BIND_ARGUMENT_CONVERSION<LL_CONST Arg1>::type>(a1));
}
// delete_ptr bind function.
template <class Arg1>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<1, details::delete_action<details::delete_ptr_action> >, ::boost::tuples::tuple<typename ::boost::tuples::convert_to_ref_by_default <Arg1>::type>, ::boost::bind::details::combine_arities<Arg1>::value> >
delete_ptr(Arg1& a1) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<1, details::delete_action<details::delete_ptr_action> >, ::boost::tuples::tuple<typename ::boost::tuples::convert_to_ref_by_default <Arg1>::type>, ::boost::bind::details::combine_arities<Arg1>::value> >
( ::boost::tuples::tuple<typename ::boost::tuples::convert_to_ref_by_default <Arg1>::type>(a1));
}
// delete_array bind function.
template <class Arg1>
inline const ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<1, details::delete_action<details::delete_array_action> >, ::boost::tuples::tuple<typename ::boost::tuples::convert_to_ref_by_default <Arg1>::type>, ::boost::bind::details::combine_arities<Arg1>::value> >
delete_array(Arg1& a1) {
return ::boost::bind::details::lambda_functor< ::boost::bind::details::lambda_functor_args< ::boost::bind::details::action<1, details::delete_action<details::delete_array_action> >, ::boost::tuples::tuple<typename ::boost::tuples::convert_to_ref_by_default <Arg1>::type>, ::boost::bind::details::combine_arities<Arg1>::value> >
( ::boost::tuples::tuple<typename ::boost::tuples::convert_to_ref_by_default <Arg1>::type>(a1));
}
} // namespace lambda
} // namespace boost
#include "ll/details/ll_defines_off.hpp"
#endif