1 // Copyright 2014 Idol Software, Inc.
3 // This file is part of Doctor Dump SDK.
5 // Doctor Dump SDK is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with this program. If not, see <http://www.gnu.org/licenses/>.
26 std::vector
<BYTE
> m_storage
;
31 Serializer(const CString
& hex
);
32 Serializer(const BYTE
* buf
, size_t size
);
34 CString
GetHex() const;
36 bool IsReading() const { return m_buf
!= nullptr; }
38 Serializer
& SerSimpleType(BYTE
* ptr
, size_t size
);
39 Serializer
& operator << (BOOL
& val
) { return SerSimpleType((BYTE
*)&val
, sizeof(val
)); }
40 Serializer
& operator << (USHORT
& val
) { return SerSimpleType((BYTE
*)&val
, sizeof(val
)); }
41 Serializer
& operator << (DWORD
& val
) { return SerSimpleType((BYTE
*)&val
, sizeof(val
)); }
42 Serializer
& operator << (HANDLE
& val
) { return SerSimpleType((BYTE
*)&val
, sizeof(val
)); }
43 Serializer
& operator << (CStringA
& val
);
44 Serializer
& operator << (CStringW
& val
);
47 Serializer
& operator << (Serializer
& ser
, MINIDUMP_EXCEPTION_INFORMATION
& val
);
48 Serializer
& operator << (Serializer
& ser
, Config
& cfg
);
49 Serializer
& operator << (Serializer
& ser
, Params
& param
);