1# Copyright (c) 2017 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 687 unchanged lines hidden (view full) ---

696
697static void
698module_init(py::module &m_internal)
699{
700 py::module m = m_internal.def_submodule("param_${cls}");
701''')
702 code.indent()
703 if cls._base:
704 code('py::class_<${cls}Params, ${{cls._base.type}}Params>(m, ' \
705 '"${cls}Params")')
704 code('py::class_<${cls}Params, ${{cls._base.type}}Params, ' \
705 'std::unique_ptr<${{cls}}Params, py::nodelete>>(' \
706 'm, "${cls}Params")')
707 else:
707 code('py::class_<${cls}Params>(m, "${cls}Params")')
708 code('py::class_<${cls}Params, ' \
709 'std::unique_ptr<${cls}Params, py::nodelete>>(' \
710 'm, "${cls}Params")')
711
712 code.indent()
713 if not hasattr(cls, 'abstract') or not cls.abstract:
714 code('.def(py::init<>())')
715 code('.def("create", &${cls}Params::create)')
716
717 param_exports = cls.cxx_param_exports + [
718 PyBindProperty(k)

--- 8 unchanged lines hidden (view full) ---

727 code(';')
728 code()
729 code.dedent()
730
731 bases = [ cls._base.cxx_class ] + cls.cxx_bases if cls._base else \
732 cls.cxx_bases
733 if bases:
734 base_str = ", ".join(bases)
732 code('py::class_<${{cls.cxx_class}}, ${base_str}>(m, ' \
733 '"${py_class_name}")')
735 code('py::class_<${{cls.cxx_class}}, ${base_str}, ' \
736 'std::unique_ptr<${{cls.cxx_class}}, py::nodelete>>(' \
737 'm, "${py_class_name}")')
738 else:
735 code('py::class_<${{cls.cxx_class}}>(m, "${py_class_name}")')
739 code('py::class_<${{cls.cxx_class}}, ' \
740 'std::unique_ptr<${{cls.cxx_class}}, py::nodelete>>(' \
741 'm, "${py_class_name}")')
742 code.indent()
743 for exp in cls.cxx_exports:
744 exp.export(code, cls.cxx_class)
745 code(';')
746 code.dedent()
747 code()
748 code.dedent()
749 code('}')

--- 812 unchanged lines hidden ---