Edit: /usr/include/luabind/tag_function.hpp (1622B)
// Copyright Daniel Wallin 2008. Use, modification and distribution is
// subject to 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)
#ifndef LUABIND_TAG_FUNCTION_081129_HPP
# define LUABIND_TAG_FUNCTION_081129_HPP
# include
# if LUABIND_MAX_ARITY <= 8
# include
# else
# include
# endif
# include
# include
# include
# include
# include
namespace luabind {
namespace detail
{
struct invoke_context;
struct function_object;
template
struct tagged_function
{
tagged_function(F f_)
: f(f_)
{}
F f;
};
template
struct signature_aux >
{
typedef Signature type;
};
template
int invoke(
lua_State* L, function_object const& self, invoke_context& ctx
, tagged_function const& tagged
, SignatureSeq, Policies const& policies)
{
return invoke(L, self, ctx, tagged.f, SignatureSeq(), policies);
}
} // namespace detail
template
detail::tagged_function tag_function(F f)
{
return f;
}
} // namespace luabind
#endif // LUABIND_TAG_FUNCTION_081129_HPP