704,705c704,706
< code('py::class_<${cls}Params, ${{cls._base.type}}Params>(m, ' \
< '"${cls}Params")')
---
> code('py::class_<${cls}Params, ${{cls._base.type}}Params, ' \
> 'std::unique_ptr<${{cls}}Params, py::nodelete>>(' \
> 'm, "${cls}Params")')
707c708,710
< code('py::class_<${cls}Params>(m, "${cls}Params")')
---
> code('py::class_<${cls}Params, ' \
> 'std::unique_ptr<${cls}Params, py::nodelete>>(' \
> 'm, "${cls}Params")')
732,733c735,737
< code('py::class_<${{cls.cxx_class}}, ${base_str}>(m, ' \
< '"${py_class_name}")')
---
> code('py::class_<${{cls.cxx_class}}, ${base_str}, ' \
> 'std::unique_ptr<${{cls.cxx_class}}, py::nodelete>>(' \
> 'm, "${py_class_name}")')
735c739,741
< code('py::class_<${{cls.cxx_class}}>(m, "${py_class_name}")')
---
> code('py::class_<${{cls.cxx_class}}, ' \
> 'std::unique_ptr<${{cls.cxx_class}}, py::nodelete>>(' \
> 'm, "${py_class_name}")')