summaryrefslogtreecommitdiff
path: root/utils/zenutils/libraries/pelib-0.9/pelib/buffer/OutputBuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/zenutils/libraries/pelib-0.9/pelib/buffer/OutputBuffer.h')
-rw-r--r--[-rwxr-xr-x]utils/zenutils/libraries/pelib-0.9/pelib/buffer/OutputBuffer.h102
1 files changed, 51 insertions, 51 deletions
diff --git a/utils/zenutils/libraries/pelib-0.9/pelib/buffer/OutputBuffer.h b/utils/zenutils/libraries/pelib-0.9/pelib/buffer/OutputBuffer.h
index f1ab99039b..06049ddd9d 100755..100644
--- a/utils/zenutils/libraries/pelib-0.9/pelib/buffer/OutputBuffer.h
+++ b/utils/zenutils/libraries/pelib-0.9/pelib/buffer/OutputBuffer.h
@@ -1,51 +1,51 @@
1/* 1/*
2* OutputBuffer.h - Part of the PeLib library. 2* OutputBuffer.h - Part of the PeLib library.
3* 3*
4* Copyright (c) 2004 - 2005 Sebastian Porst (webmaster@the-interweb.com) 4* Copyright (c) 2004 - 2005 Sebastian Porst (webmaster@the-interweb.com)
5* All rights reserved. 5* All rights reserved.
6* 6*
7* This software is licensed under the zlib/libpng License. 7* This software is licensed under the zlib/libpng License.
8* For more details see http://www.opensource.org/licenses/zlib-license.php 8* For more details see http://www.opensource.org/licenses/zlib-license.php
9* or the license information file (license.htm) in the root directory 9* or the license information file (license.htm) in the root directory
10* of PeLib. 10* of PeLib.
11*/ 11*/
12 12
13#ifndef OUTPUTBUFFER_H 13#ifndef OUTPUTBUFFER_H
14#define OUTPUTBUFFER_H 14#define OUTPUTBUFFER_H
15 15
16#include <vector> 16#include <vector>
17#include <iterator> 17#include <iterator>
18 18
19namespace PeLib 19namespace PeLib
20{ 20{
21 class OutputBuffer 21 class OutputBuffer
22 { 22 {
23 private: 23 private:
24 std::vector<unsigned char>& m_vBuffer; 24 std::vector<unsigned char>& m_vBuffer;
25 25
26 public: 26 public:
27 OutputBuffer(std::vector<unsigned char>& vBuffer); 27 OutputBuffer(std::vector<unsigned char>& vBuffer);
28 const unsigned char* data() const; 28 const unsigned char* data() const;
29 unsigned long size(); 29 unsigned long size();
30 30
31 template<typename T> 31 template<typename T>
32 OutputBuffer& operator<<(const T& value) 32 OutputBuffer& operator<<(const T& value)
33 { 33 {
34 const unsigned char* p = reinterpret_cast<const unsigned char*>(&value); 34 const unsigned char* p = reinterpret_cast<const unsigned char*>(&value);
35 std::copy(p, p + sizeof(value), std::back_inserter(m_vBuffer)); 35 std::copy(p, p + sizeof(value), std::back_inserter(m_vBuffer));
36 return *this; 36 return *this;
37 } 37 }
38 void add(const char* lpBuffer, unsigned long ulSize); 38 void add(const char* lpBuffer, unsigned long ulSize);
39 void reset(); 39 void reset();
40 void resize(unsigned int uiSize); 40 void resize(unsigned int uiSize);
41 void set(unsigned int uiPosition); 41 void set(unsigned int uiPosition);
42 42
43 template<typename T> 43 template<typename T>
44 void update(unsigned long ulIndex, const T& value) 44 void update(unsigned long ulIndex, const T& value)
45 { 45 {
46 *(T*)(&m_vBuffer[ulIndex]) = value; 46 *(T*)(&m_vBuffer[ulIndex]) = value;
47 } 47 }
48 }; 48 };
49} 49}
50 50
51#endif 51#endif