/
usr
/
include
/
luabind
/
detail
/
/usr/include/luabind/detail
mkdir
upload
Name
Size
Mode
Actions
call.hpp
9158
0644
edit
dl
rm
call_function.hpp
18726
0644
edit
dl
rm
call_member.hpp
13721
0644
edit
dl
rm
call_operator_iterate.hpp
2194
0644
edit
dl
rm
class_registry.hpp
2940
0644
edit
dl
rm
class_rep.hpp
6235
0644
edit
dl
rm
constructor.hpp
3691
0644
edit
dl
rm
convert_to_lua.hpp
2924
0644
edit
dl
rm
debug.hpp
2273
0644
edit
dl
rm
decorate_type.hpp
6592
0644
edit
dl
rm
deduce_signature.hpp
2016
0644
edit
dl
rm
enum_maker.hpp
3542
0644
edit
dl
rm
format_signature.hpp
3609
0644
edit
dl
rm
garbage_collector.hpp
1862
0644
edit
dl
rm
has_get_pointer.hpp
2960
0644
edit
dl
rm
inheritance.hpp
4197
0644
edit
dl
rm
instance_holder.hpp
3108
0644
edit
dl
rm
link_compatibility.hpp
1994
0644
edit
dl
rm
make_instance.hpp
2811
0644
edit
dl
rm
most_derived.hpp
1602
0644
edit
dl
rm
object.hpp
33394
0644
edit
dl
rm
object_call.hpp
1899
0644
edit
dl
rm
object_rep.hpp
4471
0644
edit
dl
rm
operator_id.hpp
2465
0644
edit
dl
rm
other.hpp
3290
0644
edit
dl
rm
pcall.hpp
1458
0644
edit
dl
rm
pointee_sizeof.hpp
1840
0644
edit
dl
rm
policy.hpp
28340
0644
edit
dl
rm
primitives.hpp
1856
0644
edit
dl
rm
property.hpp
782
0644
edit
dl
rm
signature_match.hpp
2171
0644
edit
dl
rm
stack_utils.hpp
1640
0644
edit
dl
rm
typetraits.hpp
5439
0644
edit
dl
rm
yes_no.hpp
1324
0644
edit
dl
rm
Edit:
/usr/include/luabind/detail/deduce_signature.hpp
(2016B)
// 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_DEDUCE_SIGNATURE_080911_HPP # define LUABIND_DEDUCE_SIGNATURE_080911_HPP # include <luabind/detail/most_derived.hpp> # include <boost/function_types/components.hpp> # include <boost/function_types/is_callable_builtin.hpp> # include <boost/function_types/is_member_function_pointer.hpp> # include <boost/type_traits/add_reference.hpp> # include <boost/utility/enable_if.hpp> namespace luabind { namespace detail { namespace mpl = boost::mpl; namespace fty = boost::function_types; template <class F, class Enable=void> struct signature_aux { typedef F type; }; // Handle boost::function and std::function: template <template<class> class F, class S> struct signature_aux< F<S>, typename mpl::apply< // Enable only if F<S>::result_type exists. mpl::always<void>, typename F<S>::result_type>::type > { typedef S type; }; template <class F> struct signature_aux<const F>: signature_aux<F> {}; template <typename F> struct is_function: fty::is_callable_builtin<typename signature_aux<F>::type> {}; template <class F> typename boost::enable_if< is_function<F>, fty::components<typename signature_aux<F>::type> >::type deduce_signature(F const&, ...) { return fty::components<typename signature_aux<F>::type>(); } template <class F, class Wrapped> typename boost::enable_if< fty::is_member_function_pointer<typename signature_aux<F>::type>, fty::components< typename signature_aux<F>::type, boost::add_reference<most_derived<mpl::_1, Wrapped> > > >::type deduce_signature(F, Wrapped*) { return fty::components< typename signature_aux<F>::type, boost::add_reference<most_derived<mpl::_1, Wrapped> > >(); } } } // namespace luabind::detail #endif // LUABIND_DEDUCE_SIGNATURE_080911_HPP
Save
cmd:
run