discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Using GnuRadio API from C++


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] Using GnuRadio API from C++
Date: Thu, 10 Nov 2005 09:42:18 -0800
User-agent: Mutt/1.5.6i

On Thu, Nov 10, 2005 at 09:19:44AM +0000, Terry Barnaby wrote:
> 
> Just a quick update on this.
> I have managed to get a basic C++ only interface to GnuRadio working.
> For my use all I needed to do was re-implement the flow_graph class
> in C++ rather than Python. This has enabled me to create a C++ only
> implementation that works for me.

Good.

> My current C++ flow_graph class is not complete, but it seems that it
> would be reasonbly easy to fully implement this in C++ rather than
> Python. If GnuRadio moved the flow_graph class to C++ this would allow
> the core of GnuRadio to be used directly from C++ ...

Yes, but you'd lose access to all the hierarchical blocks.

> One little point is the forced use of the Boost shared_ptr to create
> GnuRadio objects (Constructer is protected). It would make the C++
> API cleaner if it was possible to create the Objects directly rather
> than only via a Boost shared_ptr. Is there any issues in allowing
> the Objects to be created and managed by the application ?

To keep life sane in a world that includes Python and it's reference
counting, and where there are potentially many data structures (C++
and Python) holding onto pointers to objects, the boost shrared
pointer stuff is a big win.  It keeps every part of the application
from having to worry about lifetime management.

Admittedly there is a bit more code to write for each object: the
public constructor that returns the shared pointer wrapped raw
pointer, but this seems like a small penalty to pay to eliminate
object lifetime management bugs.

Glad to hear you've got it working for you!

Eric 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]