From 46db5001234ff42cd5b94407c2122bbf0b2994df Mon Sep 17 00:00:00 2001 From: David Shah Date: Wed, 4 Jul 2018 14:44:45 +0200 Subject: python: More design-related bindings, dump_design.py working again Signed-off-by: David Shah --- common/pycontainers.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'common/pycontainers.h') diff --git a/common/pycontainers.h b/common/pycontainers.h index c8d2257b..260a9dd6 100644 --- a/common/pycontainers.h +++ b/common/pycontainers.h @@ -276,6 +276,11 @@ template struct map_wrapper x.base[PythonConversion::string_converter().from_str(x.ctx, i)] = v; } + static size_t len(wrapped_map &x) + { + return x.base.size(); + } + static void del(T const &x, std::string const &i) { K k = PythonConversion::string_converter().from_str(x.ctx, i); @@ -293,7 +298,7 @@ template struct map_wrapper typename rw::iter_wrap().wrap(iter_name); class_(map_name, no_init) .def("__iter__", rw::iter) - .def("__len__", &T::size) + .def("__len__", len) .def("__getitem__", get) .def("__setitem__", set, with_custodian_and_ward<1, 2>()); } @@ -394,6 +399,11 @@ template struct map_wrapper_uptr x.base[PythonConversion::string_converter().from_str(x.ctx, i)] = typename T::mapped_type(v); } + static size_t len(wrapped_map &x) + { + return x.base.size(); + } + static void del(T const &x, std::string const &i) { K k = PythonConversion::string_converter().from_str(x.ctx, i); @@ -411,7 +421,7 @@ template struct map_wrapper_uptr typename rw::iter_wrap().wrap(iter_name); class_(map_name, no_init) .def("__iter__", rw::iter) - .def("__len__", &T::size) + .def("__len__", len) .def("__getitem__", get) .def("__setitem__", set, with_custodian_and_ward<1, 2>()); } -- cgit v1.2.3