/usr/include/luabind
NameSizeModeActions
detail/-0755rm
adopt_policy.hpp50910644editdlrm
back_reference.hpp31110644editdlrm
back_reference_fwd.hpp14950644editdlrm
build_information.hpp20150644editdlrm
class.hpp274900644editdlrm
class_info.hpp17040644editdlrm
config.hpp52320644editdlrm
container_policy.hpp49510644editdlrm
copy_policy.hpp13130644editdlrm
dependency_policy.hpp26910644editdlrm
discard_result_policy.hpp25120644editdlrm
error.hpp33450644editdlrm
error_callback_fun.hpp17500644editdlrm
exception_handler.hpp20860644editdlrm
from_stack.hpp14850644editdlrm
function.hpp15190644editdlrm
function_converter.hpp40210644editdlrm
function_introspection.hpp19490644editdlrm
get_main_thread.hpp5220644editdlrm
get_pointer.hpp15540644editdlrm
handle.hpp42180644editdlrm
intrusive_ptr_converter.hpp17890644editdlrm
iterator_policy.hpp29820644editdlrm
luabind.hpp13560644editdlrm
lua_include.hpp26650644editdlrm
lua_state_fwd.hpp13570644editdlrm
make_function.hpp32380644editdlrm
nil.hpp13680644editdlrm
no_dependency.hpp9030644editdlrm
object.hpp12910644editdlrm
object_fwd.hpp3310644editdlrm
open.hpp13710644editdlrm
operator.hpp89930644editdlrm
out_value_policy.hpp120290644editdlrm
prefix.hpp12650644editdlrm
raw_policy.hpp24260644editdlrm
return_reference_to_policy.hpp26610644editdlrm
scope.hpp29440644editdlrm
set_package_preload.hpp24520644editdlrm
shared_ptr_converter.hpp52740644editdlrm
stack.hpp40160644editdlrm
std_shared_ptr_converter.hpp22710644editdlrm
tag_function.hpp16220644editdlrm
typeid.hpp24980644editdlrm
value_wrapper.hpp42410644editdlrm
version.hpp5130644editdlrm
weak_ref.hpp18340644editdlrm
wrapper_base.hpp59870644editdlrm
yield_policy.hpp17340644editdlrm
Edit: /usr/include/luabind/function_converter.hpp (4021B)
// Copyright Christian Neumüller 2013. 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) #if !BOOST_PP_IS_ITERATING # ifndef LUABIND_FUNCTION_CONVERTER_HPP_INCLUDED # define LUABIND_FUNCTION_CONVERTER_HPP_INCLUDED # include # include # include # include # include namespace luabind { template struct function { typedef R result_type; function(luabind::object const& obj) : m_func(obj) { } R operator() () { return call_function(m_func); } # define BOOST_PP_ITERATION_LIMITS (1, LUABIND_MAX_ARITY) # define BOOST_PP_FILENAME_1 // include self # include BOOST_PP_ITERATE() private: object m_func; }; template <> struct function { typedef void result_type; function(luabind::object const& obj) : m_func(obj) { } void operator() () { call_function(m_func); } # define VOID_SPEC # define BOOST_PP_ITERATION_LIMITS (1, LUABIND_MAX_ARITY) # define BOOST_PP_FILENAME_1 // include self # include BOOST_PP_ITERATE() # undef VOID_SPEC private: luabind::object m_func; }; template struct default_converter >::type> { typedef boost::mpl::true_ is_native; int consumed_args() const { return 1; } template void converter_postcall(lua_State*, U const&, int) {} template static int match(lua_State* L, U, int index) { if (lua_type(L, index) == LUA_TFUNCTION) return 0; if (luaL_getmetafield(L, index, "__call")) { lua_pop(L, 1); return 1; } return -1; } template F apply(lua_State* L, U, int index) { // If you get a compiler error here, you are probably trying to // get a function pointer from Lua. This is not supported: // you must use a type which is constructible from a // luabind::function, e.g. std::function or boost::function. return function( object(from_stack(L, index))); } void apply(lua_State* L, F value) { make_function(L, value).push(L); } }; } // namespace luabind # endif // LUABIND_FUNCTION_CONVERTER_HPP_INCLUDED #else // !BOOST_PP_IS_ITERATING # define N BOOST_PP_ITERATION() # define TMPL_PARAMS BOOST_PP_ENUM_PARAMS(N, typename A) # ifndef LUABIND_NO_RVALUE_REFERENCES # define TYPED_ARGS BOOST_PP_ENUM_BINARY_PARAMS(N, A, && a) # else # define TYPED_ARGS BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) # endif # ifndef LUABIND_NO_RVALUE_REFERENCES # define PRINT_FORWARD_ARG(z, n, _) std::forward(BOOST_PP_CAT(a, n)) # define TRAILING_ARGS BOOST_PP_ENUM_TRAILING(N, PRINT_FORWARD_ARG, ~) # else # define TRAILING_ARGS BOOST_PP_ENUM_TRAILING_PARAMS(N, a) # endif # ifdef VOID_SPEC template void operator() (TYPED_ARGS) { luabind::call_function(m_func TRAILING_ARGS); } # else template R operator() (TYPED_ARGS) { return luabind::call_function(m_func TRAILING_ARGS); } # endif # undef TMPL_PARAMS # undef TYPED_ARGS # undef TRAILING_ARGS # undef N #endif // BOOST_PP_IS_ITERATING