Midge  v3.9.2
Data Processing Framework
_stream.hh
Go to the documentation of this file.
1 #ifndef _midge__stream_hh_
2 #define _midge__stream_hh_
3 
4 #include "stream.hh"
5 
6 #include "member_variables.hh"
7 
8 
9 namespace midge
10 {
11 
12  template< class x_type >
13  class _stream :
14  public stream
15  {
16 
17  protected:
18  _stream();
19  virtual ~_stream();
20 
21  public:
22  virtual x_type* data() = 0;
23 
24  virtual void timer_report() const;
25 
26  mv_referrable( std::string, label );
27 
28  protected:
29  IF_STREAM_TIMING_ENABLED( stream_timer f_timer; )
30 
31  };
32 
33  template< class x_type >
35  stream()
36  {
37  }
38 
39  template< class x_type >
41  {
42  }
43 
44  template< class x_type >
45  inline void _stream< x_type >::timer_report() const
46  {
47  IF_STREAM_TIMING_ENABLED( f_timer.report( f_label ); )
48  return;
49  }
50 
51 }
52 
53 #endif
Definition: _buffer.hh:11
#define IF_STREAM_TIMING_ENABLED(x_line)
virtual x_type * data()=0
virtual ~_stream()
Definition: _stream.hh:40
virtual void timer_report() const
Definition: _stream.hh:45