15 #ifndef RAPIDJSON_MEMORYSTREAM_H_
16 #define RAPIDJSON_MEMORYSTREAM_H_
22 RAPIDJSON_DIAG_OFF(unreachable-code)
23 RAPIDJSON_DIAG_OFF(missing-noreturn)
26 RAPIDJSON_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;
65 RAPIDJSON_NAMESPACE_END
71 #endif // RAPIDJSON_MEMORYBUFFER_H_
size_t size_
Size of the stream.
Definition: memorystream.h:62
Represents an in-memory input byte stream.
Definition: memorystream.h:40
const Ch * end_
End of stream.
Definition: memorystream.h:61
#define RAPIDJSON_ASSERT(x)
Assertion.
Definition: rapidjson.h:402
const Ch * begin_
Original head of the string.
Definition: memorystream.h:60
const Ch * src_
Current read position.
Definition: memorystream.h:59
#define RAPIDJSON_UNLIKELY(x)
Compiler branching hint for expression with low probability to be true.
Definition: rapidjson.h:468