15#ifndef RAPIDJSON_MEMORYSTREAM_H_
16#define RAPIDJSON_MEMORYSTREAM_H_
22RAPIDJSON_DIAG_OFF(unreachable-code)
23RAPIDJSON_DIAG_OFF(missing-noreturn)
26RAPIDJSON_NAMESPACE_BEGIN
43 MemoryStream(
const Ch *src,
size_t size) : src_(src), begin_(src), end_(src + size), size_(size) {}
47 size_t Tell()
const {
return static_cast<size_t>(src_ - begin_); }
55 const Ch* Peek4()
const {
56 return Tell() + 4 <= size_ ? src_ : 0;
65RAPIDJSON_NAMESPACE_END
#define RAPIDJSON_UNLIKELY(x)
Compiler branching hint for expression with low probability to be true.
定义 rapidjson.h:507
#define RAPIDJSON_ASSERT(x)
Assertion.
定义 rapidjson.h:437
Represents an in-memory input byte stream.
定义 memorystream.h:40
const Ch * begin_
Original head of the string.
定义 memorystream.h:60
const Ch * end_
End of stream.
定义 memorystream.h:61
size_t size_
Size of the stream.
定义 memorystream.h:62
const Ch * src_
Current read position.
定义 memorystream.h:59