CMS 3D CMS Logo

IOPosBuffer.h
Go to the documentation of this file.
1 #ifndef STORAGE_FACTORY_IO_POS_BUFFER_H
2 #define STORAGE_FACTORY_IO_POS_BUFFER_H
3 
5 
7 struct IOPosBuffer {
8 public:
9  IOPosBuffer(void);
10  IOPosBuffer(IOOffset offset, void *data, IOSize length);
11  IOPosBuffer(IOOffset offset, const void *data, IOSize length);
12 
13  IOOffset offset(void) const;
14  void *data(void) const;
15  IOSize size(void) const;
16 
17  void set_offset(IOOffset new_offset);
18  void set_data(void *new_buffer);
19  void set_size(IOSize new_size);
20 
21 private:
22  IOOffset m_offset; //< File offset.
23  void *m_data; //< Data
24  IOSize m_length; //< Length of data in bytes.
25 };
26 
28 inline IOPosBuffer::IOPosBuffer(void) : m_offset(0), m_data(nullptr), m_length(0) {}
29 
32  : m_offset(offset), m_data(data), m_length(length) {}
33 
35 inline IOPosBuffer::IOPosBuffer(IOOffset offset, const void *data, IOSize length)
36  : m_offset(offset), m_data(const_cast<void *>(data)), m_length(length) {}
37 
39 inline IOOffset IOPosBuffer::offset(void) const { return m_offset; }
40 
42 inline void *IOPosBuffer::data(void) const { return m_data; }
43 
45 inline IOSize IOPosBuffer::size(void) const { return m_length; }
46 
48 inline void IOPosBuffer::set_offset(IOOffset new_offset) { m_offset = new_offset; }
49 
51 inline void IOPosBuffer::set_data(void *new_data) { m_data = new_data; }
52 
54 inline void IOPosBuffer::set_size(IOSize new_length) { m_length = new_length; }
55 
56 #endif // STORAGE_FACTORY_IO_POS_BUFFER_H
IOPosBuffer::set_offset
void set_offset(IOOffset new_offset)
Definition: IOPosBuffer.h:48
IOPosBuffer::m_data
void * m_data
Definition: IOPosBuffer.h:23
IOPosBuffer::IOPosBuffer
IOPosBuffer(void)
Definition: IOPosBuffer.h:28
IOPosBuffer::set_data
void set_data(void *new_buffer)
Definition: IOPosBuffer.h:51
IOPosBuffer::m_offset
IOOffset m_offset
Definition: IOPosBuffer.h:22
IOPosBuffer::data
void * data(void) const
Definition: IOPosBuffer.h:42
IOPosBuffer::set_size
void set_size(IOSize new_size)
Definition: IOPosBuffer.h:54
IOOffset
int64_t IOOffset
Definition: IOTypes.h:19
IOTypes.h
IOPosBuffer::size
IOSize size(void) const
Definition: IOPosBuffer.h:45
IOPosBuffer::offset
IOOffset offset(void) const
Definition: IOPosBuffer.h:39
IOPosBuffer::m_length
IOSize m_length
Definition: IOPosBuffer.h:24
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
funct::void
TEMPL(T2) struct Divides void
Definition: Factorize.h:29
IOPosBuffer
Definition: IOPosBuffer.h:7
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:78
IOSize
size_t IOSize
Definition: IOTypes.h:14