26 #include "pybind11/pybind11.h"
34 using namespace py::literals;
38 namespace typehandling {
42 void declareSimpleGenericMap(utils::python::WrapperCollection& wrappers,
std::string const& suffix,
44 using Class = SimpleGenericMap<K>;
45 using PyClass = py::class_<Class, std::shared_ptr<Class>, MutableGenericMap<K>>;
47 std::string className =
"SimpleGenericMap" + suffix;
50 "A `dict`-like `~collections.abc.MutableMapping` for use when sharing a map between C++ and "
56 mapping : `collections.abc.Mapping`, optional
57 iterable : iterable, optional
59 A ``SimpleGenericMap`` takes the same input arguments as `dict`.
62 [](auto& mod,
auto&
cls) {
70 cls.def(py::init<>());
71 cls.def(
"copy", [](Class const& self) { return Class(self); });
80 declareSimpleGenericMap<std::string>(wrappers,
"S",
"strings");