GNU Radio 3.2.2 C++ API

gr_basic_block Class Reference

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. More...

#include <gr_basic_block.h>

Inheritance diagram for gr_basic_block:
gr_block gr_hier_block2 gr_align_on_samplenumbers_ss gr_clock_recovery_mm_cc gr_clock_recovery_mm_ff gr_dd_mpsk_sync_cc gr_fractional_interpolator_cc gr_fractional_interpolator_ff gr_keep_one_in_n gr_mpsk_receiver_cc gr_nop gr_ofdm_frame_acquisition gr_ofdm_insert_preamble gr_ofdm_sampler gr_packed_to_unpacked_bb gr_packed_to_unpacked_ii gr_packed_to_unpacked_ss gr_rational_resampler_base_ccc gr_rational_resampler_base_ccf gr_rational_resampler_base_fcc gr_rational_resampler_base_fff gr_rational_resampler_base_fsf gr_rational_resampler_base_scc gr_simple_correlator gr_simple_framer gr_skiphead gr_squelch_base_cc gr_squelch_base_ff gr_stream_mux gr_sync_block gr_test gr_unpacked_to_packed_bb gr_unpacked_to_packed_ii gr_unpacked_to_packed_ss pager_flex_sync trellis_metrics_c trellis_metrics_f trellis_metrics_i trellis_metrics_s trellis_siso_combined_f trellis_siso_f trellis_viterbi_b trellis_viterbi_combined_cb trellis_viterbi_combined_ci trellis_viterbi_combined_cs trellis_viterbi_combined_fb trellis_viterbi_combined_fi trellis_viterbi_combined_fs trellis_viterbi_combined_ib trellis_viterbi_combined_ii trellis_viterbi_combined_is trellis_viterbi_combined_sb trellis_viterbi_combined_si trellis_viterbi_combined_ss trellis_viterbi_i trellis_viterbi_s gr_channel_model gr_top_block

List of all members.

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 Types

enum  vcolor { WHITE, GREY, BLACK }

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
void set_color (vcolor color)
 Allow the flowgraph to set for sorting and partitioning.
vcolor color () const

Protected Attributes

std::string d_name
gr_io_signature_sptr d_input_signature
gr_io_signature_sptr d_output_signature
long d_unique_id
vcolor d_color

Friends

class gr_flowgraph
class gr_flat_flowgraph

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.


Member Enumeration Documentation

enum gr_basic_block::vcolor [protected]
Enumerator:
WHITE 
GREY 
BLACK 

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.

virtual 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:
ninputsnumber of input streams connected
noutputsnumber 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_deinterleave, gr_interleave, gr_kludge_copy, gr_test, 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.

vcolor gr_basic_block::color ( ) const [inline, protected]

References d_color.

Referenced by set_color().

gr_io_signature_sptr gr_basic_block::input_signature ( ) const [inline]

References d_input_signature.

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

References d_name.

gr_io_signature_sptr gr_basic_block::output_signature ( ) const [inline]

References d_output_signature.

void gr_basic_block::set_color ( vcolor  color) [inline, protected]

Allow the flowgraph to set for sorting and partitioning.

References color(), and d_color.

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

may only be called during constructor

References d_input_signature.

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

may only be called during constructor

References d_output_signature.

long gr_basic_block::unique_id ( ) const [inline]

References d_unique_id.


Friends And Related Function Documentation

friend class gr_flat_flowgraph [friend]
friend class gr_flowgraph [friend]

Member Data Documentation

Referenced by color(), and set_color().

std::string gr_basic_block::d_name [protected]

Referenced by name().

long gr_basic_block::d_unique_id [protected]

Referenced by unique_id().


The documentation for this class was generated from the following file: