18 m.def(
"kw_func0", kw_func);
20 m.def(
"kw_func2", kw_func,
py::arg(
"x") = 100,
py::arg(
"y") = 200);
21 m.def(
"kw_func3", [](
const char *) { },
py::arg(
"data") = std::string(
"Hello world!"));
24 std::vector<int> list{{13, 17}};
25 m.def(
"kw_func4", [](
const std::vector<int> &entries) {
26 std::string
ret =
"{";
33 m.def(
"kw_func_udl", kw_func,
"x"_a,
"y"_a=300);
34 m.def(
"kw_func_udl_z", kw_func,
"x"_a,
"y"_a=0);
45 m.def(
"mixed_plus_args", [](
int i,
double j,
py::args args) {
48 m.def(
"mixed_plus_kwargs", [](
int i,
double j,
py::kwargs kwargs) {
54 m.def(
"mixed_plus_args_kwargs", mixed_plus_both);
56 m.def(
"mixed_plus_args_kwargs_defaults", mixed_plus_both,
62 #define GC_IF_NEEDED ConstructorStats::gc() 69 m.def(
"args_refcount", [](
py::args a) {
72 for (
size_t i = 0; i < a.size(); i++)
74 t[i] = (
int) Py_REFCNT(PyTuple_GET_ITEM(a.
ptr(),
static_cast<ssize_t>(
i)));
81 for (
size_t i = 0; i < a.size(); i++)
83 t[i + 1] = (
int) Py_REFCNT(PyTuple_GET_ITEM(a.
ptr(),
static_cast<ssize_t>(
i)));
98 struct KWClass {
void foo(
int,
float) {} };
100 .def(
"foo0", &KWClass::foo)
101 .
def(
"foo1", &KWClass::foo,
"x"_a,
"y"_a);
PyObject * ptr() const
Return the underlying PyObject * pointer.
test_initializer kwargs_and_defaults("kwargs_and_defaults", test_submodule_kwargs_and_defaults)
int ref_count() const
Return the object's current reference count.
size_t function_call handle ret
detail::enable_if_t<!detail::move_never< T >::value, T > move(object &&obj)
#define TEST_SUBMODULE(name, variable)
bool typename Extra class_ & def(const char *name_, Func &&f, const Extra &... extra)
auto to_string(T &&value) -> decltype(std::forward< T >(value))
Convert an object to a string (directly forward if this can become a string)