Revision c7dbfcc7 gnuradio-core/src/lib/general/gr_skiphead.h
| b/gnuradio-core/src/lib/general/gr_skiphead.h | ||
|---|---|---|
| 26 | 26 |
#include <gr_sync_block.h> |
| 27 | 27 |
#include <stddef.h> // size_t |
| 28 | 28 |
|
| 29 |
class gr_skiphead; |
|
| 30 |
typedef boost::shared_ptr<gr_skiphead> gr_skiphead_sptr; |
|
| 31 |
|
|
| 32 |
|
|
| 29 | 33 |
/*! |
| 30 | 34 |
* \brief skips the first N items, from then on copies items to the output |
| 31 | 35 |
* \ingroup block |
| ... | ... | |
| 33 | 37 |
* Useful for building test cases and sources which have metadata or junk at the start |
| 34 | 38 |
*/ |
| 35 | 39 |
|
| 36 |
class gr_skiphead : public gr_sync_block
|
|
| 40 |
class gr_skiphead : public gr_block |
|
| 37 | 41 |
{
|
| 38 |
friend gr_block_sptr gr_make_skiphead (size_t sizeof_stream_item, int nitems);
|
|
| 39 |
gr_skiphead (size_t sizeof_stream_item, int nitems);
|
|
| 42 |
friend gr_skiphead_sptr gr_make_skiphead (size_t itemsize, size_t nitems_to_skip);
|
|
| 43 |
gr_skiphead (size_t itemsize, size_t nitems_to_skip);
|
|
| 40 | 44 |
|
| 41 |
int d_nitems;
|
|
| 42 |
int d_nskipped_items;
|
|
| 45 |
long long d_nitems_to_skip;
|
|
| 46 |
long long d_nitems; // total items seen
|
|
| 43 | 47 |
|
| 44 | 48 |
public: |
| 45 |
int work (int noutput_items, |
|
| 46 |
gr_vector_const_void_star &input_items, |
|
| 47 |
gr_vector_void_star &output_items); |
|
| 49 |
|
|
| 50 |
int general_work(int noutput_items, |
|
| 51 |
gr_vector_int &ninput_items, |
|
| 52 |
gr_vector_const_void_star &input_items, |
|
| 53 |
gr_vector_void_star &output_items); |
|
| 48 | 54 |
}; |
| 49 | 55 |
|
| 50 |
gr_block_sptr
|
|
| 51 |
gr_make_skiphead (size_t sizeof_stream_item, int nitems);
|
|
| 56 |
gr_skiphead_sptr
|
|
| 57 |
gr_make_skiphead (size_t itemsize, size_t nitems_to_skip);
|
|
| 52 | 58 |
|
| 53 | 59 |
|
| 54 | 60 |
#endif /* INCLUDED_GR_SKIPHEAD_H */ |
Also available in: Unified diff