Merge pull request #117 from jmabille/overload

Python overloading of virtual functions defined in class template
This commit is contained in:
Wenzel Jakob 2016-02-28 23:50:58 +01:00
commit 00d584da97

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__) \