Python overloading of virtual functions defined in class template

This commit is contained in:
Johan Mabille 2016-02-26 13:09:22 +01:00 committed by jmabille
parent b3ef54a544
commit 25dd4789a8

View File

@ -1047,7 +1047,7 @@ inline function get_overload(const void *this_ptr, const char *name) {
pybind11::gil_scoped_acquire gil; \ pybind11::gil_scoped_acquire gil; \
pybind11::function overload = pybind11::get_overload(this, #name); \ pybind11::function overload = pybind11::get_overload(this, #name); \
if (overload) \ if (overload) \
return overload.call(__VA_ARGS__).cast<ret_type>(); } return overload.call(__VA_ARGS__).template cast<ret_type>(); }
#define PYBIND11_OVERLOAD(ret_type, class_name, name, ...) \ #define PYBIND11_OVERLOAD(ret_type, class_name, name, ...) \
PYBIND11_OVERLOAD_INT(ret_type, class_name, name, __VA_ARGS__) \ PYBIND11_OVERLOAD_INT(ret_type, class_name, name, __VA_ARGS__) \