17 #ifndef RAPIDJSON_STREAM_H_
18 #define RAPIDJSON_STREAM_H_
61 size_t PutEnd(Ch* begin);
72 template<
typename Stream>
79 enum { copyOptimization = 0 };
83 template<
typename Stream>
90 template<
typename Stream>
96 template<
typename Stream,
typename Ch>
99 for (
size_t i = 0;
i <
n;
i++)
109 template <
typename Encoding>
111 typedef typename Encoding::Ch
Ch;
117 size_t Tell()
const {
return static_cast<size_t>(src_ - head_); }
128 template <
typename Encoding>
130 enum { copyOptimization = 1 };
143 template <
typename Encoding>
145 typedef typename Encoding::Ch
Ch;
152 size_t Tell() {
return static_cast<size_t>(src_ - head_); }
158 size_t PutEnd(
Ch* begin) {
return static_cast<size_t>(dst_ - begin); }
169 template <
typename Encoding>
171 enum { copyOptimization = 1 };
Concept for encoding of Unicode characters.
Concept for reading and writing characters.
#define RAPIDJSON_ASSERT(x)
Assertion.
#define RAPIDJSON_NAMESPACE_BEGIN
provide custom rapidjson namespace (opening expression)
#define RAPIDJSON_NAMESPACE_END
provide custom rapidjson namespace (closing expression)
GenericStringStream< UTF8< char > > StringStream
String stream with UTF8 encoding.
void PutUnsafe(Stream &stream, typename Stream::Ch c)
Write character to a stream, presuming buffer is reserved.
void PutN(Stream &stream, Ch c, size_t n)
Put N copies of a character to a stream.
GenericInsituStringStream< UTF8< char > > InsituStringStream
Insitu string stream with UTF8 encoding.
void PutReserve(Stream &stream, size_t count)
Reserve n characters for writing to a stream.
common definitions and configuration
A read-write string stream.
GenericInsituStringStream(Ch *src)
const Ch * head_
Original head of the string.
const Ch * src_
Current read position.
GenericStringStream(const Ch *src)
Provides additional information for stream.