Difference between revisions of "GNU Radio 3.9 OOT Module Porting Guide"

From GNU Radio
Jump to: navigation, search
(C++ Modernization)
 
Line 10: Line 10:
 
(Currently merged onto master branch)
 
(Currently merged onto master branch)
  
The most obvious change that will impact OOTs is that Boost shared pointers have been replaced with std:: shared pointers and memory management.  At the top level of each block, the instantiation will need to change, e.g. ...
+
The most obvious change that will impact OOTs is that Boost shared pointers have been replaced with std:: shared pointers and memory management.  At the top level of each block, the instantiation will need to change, e.g.
  
 +
In include/blockname_xx.h:
 +
 +
<nowiki>typedef std::shared_ptr<blockname_xx> sptr;</nowiki>
  
 
== Pybind11 Python Bindings ==
 
== Pybind11 Python Bindings ==

Latest revision as of 17:59, 5 May 2020

The major changes in the (in-progress) GNU Radio 3.9 release that will impact OOTs are:

  • C++ modernization (C++11/14?)
  • Replacement of SWIG with Pybind11



C++ Modernization

(Currently merged onto master branch)

The most obvious change that will impact OOTs is that Boost shared pointers have been replaced with std:: shared pointers and memory management. At the top level of each block, the instantiation will need to change, e.g.

In include/blockname_xx.h:

typedef std::shared_ptr<blockname_xx> sptr;

Pybind11 Python Bindings

(NOT MERGED - future changes)

OOT Workflow

OOT Migration

Caveats