23 #ifndef LUABIND_SIGNATURE_MATCH_HPP_INCLUDED 24 #define LUABIND_SIGNATURE_MATCH_HPP_INCLUDED 26 #include <luabind/config.hpp> 28 #include <boost/config.hpp> 30 # include <boost/preprocessor/repetition/enum_params.hpp> 31 # include <boost/preprocessor/repetition/enum_params_with_a_default.hpp> 32 # include <boost/preprocessor/cat.hpp> 33 # include <boost/preprocessor/arithmetic/inc.hpp> 34 # include <boost/mpl/vector.hpp> 35 # include <boost/mpl/size.hpp> 36 # include <boost/mpl/remove.hpp> 49 template <
class... Args>
52 typedef vector<void, argument
const&, Args...> signature;
57 template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(LUABIND_MAX_ARITY,
class A, detail::null_type)>
61 boost::mpl::vector, BOOST_PP_INC(BOOST_PP_INC(LUABIND_MAX_ARITY)))<
62 void,
argument const&, BOOST_PP_ENUM_PARAMS(LUABIND_MAX_ARITY, A)
65 typedef typename boost::mpl::remove<
69 # endif // LUABIND_CPP0x 73 #endif // LUABIND_SIGNATURE_MATCH_HPP_INCLUDED Definition: signature_match.hpp:58
Definition: object.hpp:816
Definition: PEtypes.h:507
Definition: primitives.hpp:44