mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-25 22:52:01 +00:00
Remove superseded handle::operator() overloads
The variadic handle::operator() offers the same functionality as well as mixed positional, keyword, * and ** arguments. The tests are also superseded by the ones in `test_callbacks`.
This commit is contained in:
parent
625bd48a91
commit
16db1bfbd7
@ -1134,20 +1134,6 @@ template <return_value_policy policy,
|
|||||||
return operator()<policy>(std::forward<Args>(args)...);
|
return operator()<policy>(std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline object handle::operator()(detail::args_proxy args) const {
|
|
||||||
object result(PyObject_CallObject(m_ptr, args.ptr()), false);
|
|
||||||
if (!result)
|
|
||||||
throw error_already_set();
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline object handle::operator()(detail::args_proxy args, detail::kwargs_proxy kwargs) const {
|
|
||||||
object result(PyObject_Call(m_ptr, args.ptr(), kwargs.ptr()), false);
|
|
||||||
if (!result)
|
|
||||||
throw error_already_set();
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename... Args, typename /*SFINAE*/>
|
template <typename... Args, typename /*SFINAE*/>
|
||||||
dict::dict(Args &&...args)
|
dict::dict(Args &&...args)
|
||||||
: dict(detail::unpacking_collector<>(std::forward<Args>(args)...).kwargs()) { }
|
: dict(detail::unpacking_collector<>(std::forward<Args>(args)...).kwargs()) { }
|
||||||
|
@ -48,8 +48,6 @@ public:
|
|||||||
object call(Args&&... args) const;
|
object call(Args&&... args) const;
|
||||||
template <return_value_policy policy = return_value_policy::automatic_reference, typename ... Args>
|
template <return_value_policy policy = return_value_policy::automatic_reference, typename ... Args>
|
||||||
object operator()(Args&&... args) const;
|
object operator()(Args&&... args) const;
|
||||||
inline object operator()(detail::args_proxy args) const;
|
|
||||||
inline object operator()(detail::args_proxy f_args, detail::kwargs_proxy kwargs) const;
|
|
||||||
operator bool() const { return m_ptr != nullptr; }
|
operator bool() const { return m_ptr != nullptr; }
|
||||||
bool operator==(const handle &h) const { return m_ptr == h.m_ptr; }
|
bool operator==(const handle &h) const { return m_ptr == h.m_ptr; }
|
||||||
bool operator!=(const handle &h) const { return m_ptr != h.m_ptr; }
|
bool operator!=(const handle &h) const { return m_ptr != h.m_ptr; }
|
||||||
|
@ -20,13 +20,6 @@ std::string kw_func4(const std::vector<int> &entries) {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
py::object call_kw_func(py::function f) {
|
|
||||||
py::tuple args = py::make_tuple(1234);
|
|
||||||
py::dict kwargs;
|
|
||||||
kwargs["y"] = py::cast(5678);
|
|
||||||
return f(*args, **kwargs);
|
|
||||||
}
|
|
||||||
|
|
||||||
py::tuple args_function(py::args args) {
|
py::tuple args_function(py::args args) {
|
||||||
return args;
|
return args;
|
||||||
}
|
}
|
||||||
@ -49,9 +42,7 @@ test_initializer arg_keywords_and_defaults([](py::module &m) {
|
|||||||
std::vector<int> list;
|
std::vector<int> list;
|
||||||
list.push_back(13);
|
list.push_back(13);
|
||||||
list.push_back(17);
|
list.push_back(17);
|
||||||
|
|
||||||
m.def("kw_func4", &kw_func4, py::arg("myList") = list);
|
m.def("kw_func4", &kw_func4, py::arg("myList") = list);
|
||||||
m.def("call_kw_func", &call_kw_func);
|
|
||||||
|
|
||||||
m.def("args_function", &args_function);
|
m.def("args_function", &args_function);
|
||||||
m.def("args_kwargs_function", &args_kwargs_function);
|
m.def("args_kwargs_function", &args_kwargs_function);
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import pytest
|
import pytest
|
||||||
from pybind11_tests import (kw_func0, kw_func1, kw_func2, kw_func3, kw_func4, call_kw_func,
|
from pybind11_tests import (kw_func0, kw_func1, kw_func2, kw_func3, kw_func4, args_function,
|
||||||
args_function, args_kwargs_function, kw_func_udl, kw_func_udl_z,
|
args_kwargs_function, kw_func_udl, kw_func_udl_z, KWClass)
|
||||||
KWClass)
|
|
||||||
|
|
||||||
|
|
||||||
def test_function_signatures(doc):
|
def test_function_signatures(doc):
|
||||||
@ -49,8 +48,6 @@ def test_named_arguments(msg):
|
|||||||
|
|
||||||
|
|
||||||
def test_arg_and_kwargs():
|
def test_arg_and_kwargs():
|
||||||
assert call_kw_func(kw_func2) == "x=1234, y=5678"
|
|
||||||
|
|
||||||
args = 'arg1_value', 'arg2_value', 3
|
args = 'arg1_value', 'arg2_value', 3
|
||||||
assert args_function(*args) == args
|
assert args_function(*args) == args
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user