2013. 11. 24. 23:37
메세지 관리를 위한 스트림 클래스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #ifndef __STREAM #define __STREAM namespace MySream { class CStream { public: CStream(VOID); ~CStream(VOID); private: BYTE *mBufferPointer; DWORD mLength; public: BOOL SetBuffer(BYTE *buffer); public: template <typename T> BOOL ReadData(T* Data) { CopyMemory(Data, mBufferPointer + mLength, sizeof(T)); mLength += sizeof(T); return TRUE; } template <typename T> BOOL WriteData(T Data) { CopyMemory(mBufferPointer + mLength, &Data, sizeof(T)); mLength += sizeof(T); return TRUE; } DWORD GetLength(VOID) { return mLength; } }; class CStreamSP { public: CStreamSP(VOID) { Stream = new CStream(); } ~CStreamSP(VOID) { delete Stream; } CStream* operator->(VOID) { return Stream; } operator CStream*(VOID) { return Stream; } private: CStream *Stream; }; } #endif |
'게임개발공부 > 무작정퍼오기' 카테고리의 다른 글
컨테이너 종류 복습 (0) | 2013.12.21 |
---|---|
텍스처 아틀라스 (0) | 2013.12.20 |
맴버함수를 쓰레드로 쓰는법 (0) | 2013.11.27 |
assert 사용법 (0) | 2013.11.27 |
<소켓 서버> sockaddr (0) | 2013.11.25 |