GNU Radio 3.6.4 C++ API
gr::blocks::patterned_interleaver_impl Class Reference

#include <patterned_interleaver_impl.h>

Inheritance diagram for gr::blocks::patterned_interleaver_impl:
gr::blocks::patterned_interleaver gr_block gr_basic_block gr_msg_accepter gruel::msg_accepter

Public Member Functions

 patterned_interleaver_impl (size_t itemsize, std::vector< int > pattern)
int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 compute output items from input items
int pattern_max (std::vector< int > pattern)
void forecast (int noutput_items, gr_vector_int &ninput_items_required)
 Estimate input requirements given output request.

Public Attributes

std::vector< int > d_pattern
std::vector< int > d_counts
size_t d_itemsize

Additional Inherited Members

- Public Types inherited from gr::blocks::patterned_interleaver
typedef boost::shared_ptr
< patterned_interleaver
sptr
- Static Public Member Functions inherited from gr::blocks::patterned_interleaver
static sptr make (size_t itemsize, std::vector< int > pattern)
- Protected Types inherited from gr_basic_block
enum  vcolor { WHITE, GREY, BLACK }
- Protected Member Functions inherited from gr_block
 gr_block (void)
 gr_block (const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature)
void set_fixed_rate (bool fixed_rate)
void add_item_tag (unsigned int which_output, uint64_t abs_offset, const pmt::pmt_t &key, const pmt::pmt_t &value, const pmt::pmt_t &srcid=pmt::PMT_F)
 Adds a new tag onto the given output buffer.
void add_item_tag (unsigned int which_output, const gr_tag_t &tag)
 Adds a new tag onto the given output buffer.
void remove_item_tag (unsigned int which_input, uint64_t abs_offset, const pmt::pmt_t &key, const pmt::pmt_t &value, const pmt::pmt_t &srcid=pmt::PMT_F)
 Removes a tag from the given input buffer.
void remove_item_tag (unsigned int which_input, const gr_tag_t &tag)
 Removes a tag from the given input buffer.
void get_tags_in_range (std::vector< gr_tag_t > &v, unsigned int which_input, uint64_t abs_start, uint64_t abs_end)
 Given a [start,end), returns a vector of all tags in the range.
void get_tags_in_range (std::vector< gr_tag_t > &v, unsigned int which_input, uint64_t abs_start, uint64_t abs_end, const pmt::pmt_t &key)
 Given a [start,end), returns a vector of all tags in the range with a given key.
- Protected Attributes inherited from gr_block
std::vector< long > d_max_output_buffer
std::vector< long > d_min_output_buffer
gruel::mutex d_setlock

Constructor & Destructor Documentation

gr::blocks::patterned_interleaver_impl::patterned_interleaver_impl ( size_t  itemsize,
std::vector< int >  pattern 
)

Member Function Documentation

void gr::blocks::patterned_interleaver_impl::forecast ( int  noutput_items,
gr_vector_int ninput_items_required 
)
virtual

Estimate input requirements given output request.

Parameters
noutput_itemsnumber of output items to produce
ninput_items_requirednumber of input items required on each input stream

Given a request to product noutput_items, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.

Reimplemented from gr_block.

int gr::blocks::patterned_interleaver_impl::general_work ( int  noutput_items,
gr_vector_int ninput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
)
virtual

compute output items from input items

Parameters
noutput_itemsnumber of output items to write on each output stream
ninput_itemsnumber of input items available on each input stream
input_itemsvector of pointers to the input items, one entry per input stream
output_itemsvector of pointers to the output items, one entry per output stream
Returns
number of items actually written to each output stream, or -1 on EOF. It is OK to return a value less than noutput_items. -1 <= return value <= noutput_items

general_work must call consume or consume_each to indicate how many items were consumed on each input stream.

Reimplemented from gr_block.

int gr::blocks::patterned_interleaver_impl::pattern_max ( std::vector< int >  pattern)
inline

Member Data Documentation

std::vector<int> gr::blocks::patterned_interleaver_impl::d_counts
size_t gr::blocks::patterned_interleaver_impl::d_itemsize
std::vector<int> gr::blocks::patterned_interleaver_impl::d_pattern

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