15 #ifndef CEREAL_RAPIDJSON_ISTREAMWRAPPER_H_
16 #define CEREAL_RAPIDJSON_ISTREAMWRAPPER_H_
23 CEREAL_RAPIDJSON_DIAG_PUSH
24 CEREAL_RAPIDJSON_DIAG_OFF(padded)
25 #elif defined(_MSC_VER)
26 CEREAL_RAPIDJSON_DIAG_PUSH
27 CEREAL_RAPIDJSON_DIAG_OFF(4351)
48 template <
typename StreamType>
51 typedef typename StreamType::char_type
Ch;
122 #if defined(__clang__) || defined(_MSC_VER)
123 CEREAL_RAPIDJSON_DIAG_POP
#define CEREAL_RAPIDJSON_ASSERT(x)
Definition: json.hpp:50
Wrapper of std::basic_istream into RapidJSON's Stream concept.
Definition: istreamwrapper.h:49
StreamType & stream_
Definition: istreamwrapper.h:109
Ch Peek() const
Definition: istreamwrapper.h:72
void Read()
Definition: istreamwrapper.h:92
BasicIStreamWrapper(const BasicIStreamWrapper &)
Ch * bufferLast_
Definition: istreamwrapper.h:112
void Flush()
Definition: istreamwrapper.h:78
BasicIStreamWrapper(StreamType &stream)
Constructor.
Definition: istreamwrapper.h:57
BasicIStreamWrapper & operator=(const BasicIStreamWrapper &)
size_t bufferSize_
Definition: istreamwrapper.h:111
Ch * PutBegin()
Definition: istreamwrapper.h:79
BasicIStreamWrapper(StreamType &stream, char *buffer, size_t bufferSize)
Constructor.
Definition: istreamwrapper.h:67
Ch * current_
Definition: istreamwrapper.h:113
StreamType::char_type Ch
Definition: istreamwrapper.h:51
size_t readCount_
Definition: istreamwrapper.h:114
size_t PutEnd(Ch *)
Definition: istreamwrapper.h:80
size_t count_
Number of characters read.
Definition: istreamwrapper.h:115
size_t Tell() const
Definition: istreamwrapper.h:74
Ch peekBuffer_[4]
Definition: istreamwrapper.h:110
const Ch * Peek4() const
Definition: istreamwrapper.h:83
void Put(Ch)
Definition: istreamwrapper.h:77
Ch Take()
Definition: istreamwrapper.h:73
bool eof_
Definition: istreamwrapper.h:116
Ch * buffer_
Definition: istreamwrapper.h:110
#define CEREAL_RAPIDJSON_NAMESPACE_BEGIN
provide custom rapidjson namespace (opening expression)
Definition: rapidjson.h:121
#define CEREAL_RAPIDJSON_NAMESPACE_END
provide custom rapidjson namespace (closing expression)
Definition: rapidjson.h:124
BasicIStreamWrapper< std::istream > IStreamWrapper
Definition: istreamwrapper.h:119
BasicIStreamWrapper< std::wistream > WIStreamWrapper
Definition: istreamwrapper.h:120