GNU Radio 3.7.1 C++ API
|
Maps elements from a set of input vectors to a set of output vectors. More...
#include <vector_map.h>
Public Types | |
typedef boost::shared_ptr < vector_map > | sptr |
Public Member Functions | |
virtual void | set_mapping (std::vector< std::vector< std::vector< size_t > > > mapping)=0 |
Static Public Member Functions | |
static sptr | make (size_t item_size, std::vector< size_t > in_vlens, std::vector< std::vector< std::vector< size_t > > > mapping) |
Maps elements from a set of input vectors to a set of output vectors.
If in[i] is the input vector in the i'th stream then the output vector in the j'th stream is:
out[j][k] = in[mapping[j][k][0]][mapping[j][k][1]]
That is mapping is of the form (out_stream1_mapping, out_stream2_mapping, ...) and out_stream1_mapping is of the form (element1_mapping, element2_mapping, ...) and element1_mapping is of the form (in_stream, in_element).
static sptr gr::blocks::vector_map::make | ( | size_t | item_size, |
std::vector< size_t > | in_vlens, | ||
std::vector< std::vector< std::vector< size_t > > > | mapping | ||
) | [static] |
Build a vector map block.
item_size | (integer) size of vector elements |
in_vlens | (vector of integers) number of elements in each input vector |
mapping | (vector of vectors of vectors of integers) how to map elements from input to output vectors |
virtual void gr::blocks::vector_map::set_mapping | ( | std::vector< std::vector< std::vector< size_t > > > | mapping | ) | [pure virtual] |