diff options
Diffstat (limited to 'gr-blocks/include/gnuradio/blocks/vector_map.h')
-rw-r--r-- | gr-blocks/include/gnuradio/blocks/vector_map.h | 67 |
1 files changed, 34 insertions, 33 deletions
diff --git a/gr-blocks/include/gnuradio/blocks/vector_map.h b/gr-blocks/include/gnuradio/blocks/vector_map.h index bd0e74c9f3..bdf39f1355 100644 --- a/gr-blocks/include/gnuradio/blocks/vector_map.h +++ b/gr-blocks/include/gnuradio/blocks/vector_map.h @@ -28,45 +28,46 @@ #include <gnuradio/sync_block.h> namespace gr { - namespace blocks { +namespace blocks { + +/*! + * \brief Maps elements from a set of input vectors to a set of output vectors. + * \ingroup stream_operators_blk + * + * \details + * 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). + */ +class BLOCKS_API vector_map : virtual public sync_block +{ +public: + // gr::blocks::vector_map::sptr + typedef boost::shared_ptr<vector_map> sptr; /*! - * \brief Maps elements from a set of input vectors to a set of output vectors. - * \ingroup stream_operators_blk - * - * \details - * If in[i] is the input vector in the i'th stream then the output - * vector in the j'th stream is: + * Build a vector map block. * - * 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). + * \param item_size (integer) size of vector elements + * \param in_vlens (vector of integers) number of elements in each + * input vector + * \param mapping (vector of vectors of vectors of integers) how to + * map elements from input to output vectors */ - class BLOCKS_API vector_map : virtual public sync_block - { - public: - // gr::blocks::vector_map::sptr - typedef boost::shared_ptr<vector_map> sptr; - - /*! - * Build a vector map block. - * - * \param item_size (integer) size of vector elements - * \param in_vlens (vector of integers) number of elements in each - * input vector - * \param mapping (vector of vectors of vectors of integers) how to - * map elements from input to output vectors - */ - static sptr make(size_t item_size, std::vector<size_t> in_vlens, - std::vector< std::vector< std::vector<size_t> > > mapping); + static sptr make(size_t item_size, + std::vector<size_t> in_vlens, + std::vector<std::vector<std::vector<size_t>>> mapping); - virtual void set_mapping(std::vector< std::vector< std::vector<size_t> > > mapping) = 0; - }; + virtual void set_mapping(std::vector<std::vector<std::vector<size_t>>> mapping) = 0; +}; - } /* namespace blocks */ +} /* namespace blocks */ } /* namespace gr */ #endif /* INCLUDED_GR_VECTOR_MAP_H */ |