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