khl_xml 1.0.0
载入中...
搜索中...
未找到
khl_xml_strpair.cpp
1#include <cstring>
2
4
5KHL_XML_NAMESPACE_BEGIN
6
7StrPair::~StrPair()
8{
9 Reset();
10}
11
12void StrPair::Reset()
13{
14 if (_flags & NEEDS_DELETE)
15 {
16 delete[] _start;
17 }
18 _flags = 0;
19 _start = 0;
20 _end = 0;
21}
22
23void StrPair::SetStr(const char *str, int flags)
24{
25 KHL_XML_ASSERT( str );
26 Reset();
27 size_t len = strlen( str );
28 KHL_XML_ASSERT( _start == 0 );
29 _start = new char[ len+1 ];
30 memcpy( _start, str, len+1 );
31 _end = _start + len;
32 _flags = flags | NEEDS_DELETE;
33}
34
35KHL_XML_NAMESPACE_END