gr_basic_block Class Reference
[Signal Processing Blocks]

#include <gr_basic_block.h>

Inheritance diagram for gr_basic_block:

Inheritance graph
[legend]
Collaboration diagram for gr_basic_block:

Collaboration graph
[legend]
List of all members.

Detailed Description

The abstract base class for all signal processing blocks.

Basic blocks are the bare abstraction of an entity that has a name and a set of inputs and outputs. These are never instantiated directly; rather, this is the abstract parent class of both gr_hier_block, which is a recursive container, and gr_block, which implements actual signal processing functions.


Public Member Functions

virtual ~gr_basic_block ()
long unique_id () const
std::string name () const
gr_io_signature_sptr input_signature () const
gr_io_signature_sptr output_signature () const
gr_basic_block_sptr basic_block ()
virtual bool check_topology (int ninputs, int noutputs)
 Confirm that ninputs and noutputs is an acceptable combination.

Protected Member Functions

 gr_basic_block (const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature)
 Protected constructor prevents instantiation by non-derived classes.
void set_input_signature (gr_io_signature_sptr iosig)
 may only be called during constructor
void set_output_signature (gr_io_signature_sptr iosig)
 may only be called during constructor

Protected Attributes

std::string d_name
gr_io_signature_sptr d_input_signature
gr_io_signature_sptr d_output_signature
long d_unique_id


Constructor & Destructor Documentation

gr_basic_block::gr_basic_block const std::string &  name,
gr_io_signature_sptr  input_signature,
gr_io_signature_sptr  output_signature
[protected]
 

Protected constructor prevents instantiation by non-derived classes.

gr_basic_block::~gr_basic_block  )  [virtual]
 


Member Function Documentation

gr_basic_block_sptr gr_basic_block::basic_block  ) 
 

virtual bool gr_basic_block::check_topology int  ninputs,
int  noutputs
[inline, virtual]
 

Confirm that ninputs and noutputs is an acceptable combination.

Parameters:
ninputs number of input streams connected
noutputs number of output streams connected
Returns:
true if this is a valid configuration for this block.
This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.

Reimplemented in gr_align_on_samplenumbers_ss, gr_chunks_to_symbols_bc, gr_chunks_to_symbols_bf, gr_chunks_to_symbols_ic, gr_chunks_to_symbols_if, gr_chunks_to_symbols_sc, gr_chunks_to_symbols_sf, gr_deinterleave, gr_interleave, gr_kludge_copy, gr_packed_to_unpacked_bb, gr_packed_to_unpacked_ii, gr_packed_to_unpacked_ss, gr_test, gr_unpacked_to_packed_bb, gr_unpacked_to_packed_ii, gr_unpacked_to_packed_ss, gr_chunks_to_symbols_bc, gr_chunks_to_symbols_bf, gr_chunks_to_symbols_ic, gr_chunks_to_symbols_if, gr_chunks_to_symbols_sc, gr_chunks_to_symbols_sf, gr_packed_to_unpacked_bb, gr_packed_to_unpacked_ii, gr_packed_to_unpacked_ss, gr_unpacked_to_packed_bb, gr_unpacked_to_packed_ii, gr_unpacked_to_packed_ss, gr_oscope_sink_f, audio_alsa_sink, audio_alsa_source, audio_jack_sink, audio_jack_source, audio_osx_source, audio_portaudio_sink, and audio_portaudio_source.

gr_io_signature_sptr gr_basic_block::input_signature  )  const [inline]
 

std::string gr_basic_block::name  )  const [inline]
 

gr_io_signature_sptr gr_basic_block::output_signature  )  const [inline]
 

void gr_basic_block::set_input_signature gr_io_signature_sptr  iosig  )  [inline, protected]
 

may only be called during constructor

void gr_basic_block::set_output_signature gr_io_signature_sptr  iosig  )  [inline, protected]
 

may only be called during constructor

long gr_basic_block::unique_id  )  const [inline]
 


Member Data Documentation

gr_io_signature_sptr gr_basic_block::d_input_signature [protected]
 

std::string gr_basic_block::d_name [protected]
 

gr_io_signature_sptr gr_basic_block::d_output_signature [protected]
 

long gr_basic_block::d_unique_id [protected]
 


The documentation for this class was generated from the following files:
Generated on Wed Jan 31 17:19:50 2007 for GNU Radio 3.0svn by  doxygen 1.4.6