diff options
author | Marcus Müller <marcus@hostalia.de> | 2020-06-19 11:07:54 +0200 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2020-06-19 11:07:54 +0200 |
commit | e76d04ca2f4f15e3b1a1ab2a81dd52c4e6d2472c (patch) | |
tree | 1d86f68fceed9cd7204d9a79e816dc06c15feaf4 /gr-blocks/python/blocks/bindings/xor_blk_python.cc | |
parent | 98348e37209aa7daeb96fe5ead815e5b083dc6da (diff) | |
parent | 39311758cb1e6a7424d3213b3eb2c65c8c4dcfe1 (diff) |
Move from SWIG to Pybind11
Goodbye, and thanks for all the fish, SWIG.
Please refer to docs/PYBIND11.md for details on how to deal with Pybind.
Diffstat (limited to 'gr-blocks/python/blocks/bindings/xor_blk_python.cc')
-rw-r--r-- | gr-blocks/python/blocks/bindings/xor_blk_python.cc | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gr-blocks/python/blocks/bindings/xor_blk_python.cc b/gr-blocks/python/blocks/bindings/xor_blk_python.cc new file mode 100644 index 0000000000..05739f81af --- /dev/null +++ b/gr-blocks/python/blocks/bindings/xor_blk_python.cc @@ -0,0 +1,46 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ + +/***********************************************************************************/ +/* This file is automatically generated using bindtool and can be manually edited */ +/* The following lines can be configured to regenerate this file during cmake */ +/* If manual edits are made, the following tags should be modified accordingly. */ +/* BINDTOOL_GEN_AUTOMATIC(0) */ +/* BINDTOOL_USE_PYGCCXML(0) */ +/* BINDTOOL_HEADER_FILE(xor_blk.h) */ +/* BINDTOOL_HEADER_FILE_HASH(9695bb06d84235a7cfcc67e7ada1f052) */ +/***********************************************************************************/ + +#include <pybind11/complex.h> +#include <pybind11/pybind11.h> +#include <pybind11/stl.h> + +namespace py = pybind11; + +#include <gnuradio/blocks/xor_blk.h> + +template <typename T> +void bind_xor_blk_template(py::module& m, const char* classname) +{ + using xor_blk = gr::blocks::xor_blk<T>; + + py::class_<xor_blk, + gr::sync_block, + gr::block, + gr::basic_block, + std::shared_ptr<xor_blk>>(m, classname) + .def(py::init(&gr::blocks::xor_blk<T>::make), py::arg("vlen") = 1); +} + +void bind_xor_blk(py::module& m) +{ + bind_xor_blk_template<std::uint8_t>(m, "xor_bb"); + bind_xor_blk_template<std::int16_t>(m, "xor_ss"); + bind_xor_blk_template<std::int32_t>(m, "xor_ii"); +} |