rapidjson::BasicIStreamWrapper< StreamType > Class Template Reference

Wrapper of std::basic_istream into RapidJSON's Stream concept. More...

#include <istreamwrapper.h>

Public Types

typedef StreamType::char_type Ch
 

Public Member Functions

 BasicIStreamWrapper (StreamType &stream)
 Constructor. More...
 
 BasicIStreamWrapper (StreamType &stream, char *buffer, size_t bufferSize)
 Constructor. More...
 
Ch Peek () const
 
Ch Take ()
 
size_t Tell () const
 
void Put (Ch)
 
void Flush ()
 
Ch * PutBegin ()
 
size_t PutEnd (Ch *)
 
const Ch * Peek4 () const
 

Detailed Description

template<typename StreamType>
class rapidjson::BasicIStreamWrapper< StreamType >

Wrapper of std::basic_istream into RapidJSON's Stream concept.

The classes can be wrapped including but not limited to:

  • std::istringstream
  • std::stringstream
  • std::wistringstream
  • std::wstringstream
  • std::ifstream
  • std::fstream
  • std::wifstream
  • std::wfstream
Template Parameters
StreamTypeClass derived from std::basic_istream.

Constructor & Destructor Documentation

◆ BasicIStreamWrapper() [1/2]

template<typename StreamType >
rapidjson::BasicIStreamWrapper< StreamType >::BasicIStreamWrapper ( StreamType &  stream)
inline

Constructor.

Parameters
streamstream opened for read.

◆ BasicIStreamWrapper() [2/2]

template<typename StreamType >
rapidjson::BasicIStreamWrapper< StreamType >::BasicIStreamWrapper ( StreamType &  stream,
char *  buffer,
size_t  bufferSize 
)
inline

Constructor.

Parameters
streamstream opened for read.
bufferuser-supplied buffer.
bufferSizesize of buffer in bytes. Must >=4 bytes.

The documentation for this class was generated from the following file: