35#ifndef NEKTAR_LIBRARY_LIBUTILITIES_PYTHON_FUNCTORSIGNATURE_HPP
36#define NEKTAR_LIBRARY_LIBUTILITIES_PYTHON_FUNCTORSIGNATURE_HPP
42#include <boost/mpl/erase.hpp>
43#include <boost/mpl/vector.hpp>
47template <
class Functor>
struct functor_signature;
49template <
class Functor>
50typename std::enable_if<
51 std::is_member_function_pointer<
decltype(&Functor::operator())>::value,
59#include <boost/python/signature.hpp>
67 typedef typename mpl::advance<
68 typename mpl::begin<member_function_signature>::type,
std::enable_if< std::is_member_function_pointer< decltype(&Functor::operator())>::value, typenamefunctor_signature< Functor >::type >::type get_signature(Functor &, void *=nullptr)
mpl::erase< member_function_signature, instance_argument_iterator >::type type
mpl::advance< typenamempl::begin< member_function_signature >::type, mpl::int_< 1 > >::type instance_argument_iterator
decltype(get_signature(&Functor::operator())) member_function_signature