13 #ifndef RETDEC_PELIB_OUTPUTBUFFER_H
14 #define RETDEC_PELIB_OUTPUTBUFFER_H
28 const unsigned char*
data()
const;
34 const unsigned char* p =
reinterpret_cast<const unsigned char*
>(&value);
35 std::copy(p, p +
sizeof(value), std::back_inserter(
m_vBuffer));
38 void add(
const char* lpBuffer,
unsigned long ulSize);
40 void resize(
unsigned int uiSize);
41 void set(
unsigned int uiPosition);
44 void update(
unsigned long ulIndex,
const T& value)
46 *
reinterpret_cast<T*
>(
m_vBuffer.data() + ulIndex) = value;
50 void insert(
unsigned long ulIndex,
const T& value)
52 if (ulIndex +
sizeof(T) >=
size())
53 resize(ulIndex +
sizeof(T));
Definition: OutputBuffer.h:22
OutputBuffer & operator<<(const T &value)
Definition: OutputBuffer.h:32
OutputBuffer(std::vector< unsigned char > &vBuffer)
Definition: OutputBuffer.cpp:17
void reset()
Definition: OutputBuffer.cpp:37
unsigned long size()
Definition: OutputBuffer.cpp:27
void insert(unsigned long ulIndex, const T &value)
Definition: OutputBuffer.h:50
const unsigned char * data() const
Definition: OutputBuffer.cpp:22
void resize(unsigned int uiSize)
Definition: OutputBuffer.cpp:42
void add(const char *lpBuffer, unsigned long ulSize)
Definition: OutputBuffer.cpp:32
void update(unsigned long ulIndex, const T &value)
Definition: OutputBuffer.h:44
std::vector< unsigned char > & m_vBuffer
Definition: OutputBuffer.h:24
void set(unsigned int uiPosition)
Definition: BoundImportDirectory.h:21