Added rewind() and clear() to vector sources and sinks. This is useful
authoreb <eb@221aa14e-8319-0410-a670-987f0aec2ac5>
Mon, 26 May 2008 13:33:34 +0000 (13:33 +0000)
committereb <eb@221aa14e-8319-0410-a670-987f0aec2ac5>
Mon, 26 May 2008 13:33:34 +0000 (13:33 +0000)
when doing automatic testing of a block (e.g. BER vs SNR).
Patch from Andreas Müller.

git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@8509 221aa14e-8319-0410-a670-987f0aec2ac5

gnuradio-core/src/lib/gengen/gr_vector_sink_X.h.t
gnuradio-core/src/lib/gengen/gr_vector_sink_X.i.t
gnuradio-core/src/lib/gengen/gr_vector_source_X.h.t
gnuradio-core/src/lib/gengen/gr_vector_source_X.i.t

index 6aeb99480833f0bb13d31916cac6d9c14f9b225e..ec0ebb8bbf36123d04d45b10b3eaf02f6328e872 100644 (file)
@@ -49,6 +49,7 @@ class @NAME@ : public gr_sync_block {
                    gr_vector_const_void_star &input_items,
                    gr_vector_void_star &output_items);
 
+  void clear() {d_data.clear();}
   std::vector<@TYPE@> data () const;
 };
 
index 988340e30c2d7752b6f4669afa52901691d1964c..56317112373272eb75ed5d947ba53db0e6d1d37d 100644 (file)
@@ -32,6 +32,7 @@ class @NAME@ : public gr_sync_block {
   @NAME@ ();
 
  public:
+  void clear() {d_data.clear();}
   std::vector<@TYPE@> data () const;
 };
 
index 62a4dc8ad62c158281190caabd9d23f07464b94c..0b8d92a9c9215779ca628f1b4c460210eba9f54d 100644 (file)
@@ -46,6 +46,7 @@ class @NAME@ : public gr_sync_block {
   @NAME@ (const std::vector<@TYPE@> &data, bool repeat);
 
  public:
+  void rewind() {d_offset=0;}
   virtual int work (int noutput_items,
                    gr_vector_const_void_star &input_items,
                    gr_vector_void_star &output_items);
index c56f72877612208f0755ba41ecbb88b984eba9bb..1e94ce401abc21915ed08db79672e524bc74e52b 100644 (file)
@@ -28,6 +28,8 @@ GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@);
 gr_make_@BASE_NAME@ (const std::vector<@TYPE@> &data, bool repeat = false);
 
 class @NAME@ : public gr_sync_block {
+ public:
+  void rewind() {d_offset=0;}
  private:
   @NAME@ (const std::vector<@TYPE@> &data);
 };