Belle II Software  release-05-02-19
BufferedWriter.h
1 #ifndef _Belle2_BufferedWriter_hh
2 #define _Belle2_BufferedWriter_hh
3 
4 #include "daq/slc/base/Writer.h"
5 
6 namespace Belle2 {
12  class BufferedWriter : public Writer {
13 
14  // constructors & destructors
15  public:
17  BufferedWriter(size_t size, unsigned char* memory = NULL);
19  virtual ~BufferedWriter();
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  virtual size_t write(const void*, size_t);
28  virtual bool available() { return true; }
29 
30  // operators
31  public:
32  const BufferedWriter& operator = (const BufferedWriter&);
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::Writer
Definition: Writer.h:15
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BufferedWriter
Definition: BufferedWriter.h:12