Belle II Software  release-05-02-19
BufferedReader.h
1 #ifndef _Belle2_BufferedReader_hh
2 #define _Belle2_BufferedReader_hh
3 
4 #include "daq/slc/base/Reader.h"
5 
6 namespace Belle2 {
12  class BufferedReader : public Reader {
13 
14  // constructors & destructors
15  public:
17  BufferedReader(size_t size, unsigned char* memory = NULL);
19  virtual ~BufferedReader();
20 
21  // member methods implemented
22  public:
23  void seekTo(size_t pos) { m_pos = pos; }
24  unsigned char* ptr() { return m_memory; }
25  size_t count() const { return m_pos; }
26  size_t size() const { return m_size; }
27  void copy(const void*, size_t);
28  virtual size_t read(void*, size_t);
29  virtual bool available() { return true; }
30 
31  public:
32  const BufferedReader& operator = (const BufferedReader&);
33 
34  // member data
35  protected:
36  unsigned char* m_memory;
37  size_t m_size;
38  size_t m_pos;
39  bool m_allocated;
40 
41  };
42 
44 }
45 
46 #endif
Belle2::Reader
Definition: Reader.h:15
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BufferedReader
Definition: BufferedReader.h:12