RapidJSON: rapidjson::BasicIStreamWrapper< StreamType > Class Template Reference

Public Types | Public Member Functions | List of all members
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

  StreamType | Class derived from `std::basic_istream`.

## Constructor & Destructor Documentation

## ◆ BasicIStreamWrapper() [1/2]

template<typename StreamType >

rapidjson::BasicIStreamWrapper< StreamType >::BasicIStreamWrapper | ( | StreamType & | stream | ) |
| inline

Constructor.

Parameters

  stream | stream opened for read.

## ◆ BasicIStreamWrapper() [2/2]

template<typename StreamType >

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

Constructor.

Parameters

  stream | stream opened for read.
  buffer | user-supplied buffer.
  bufferSize | size of buffer in bytes. Must >=4 bytes.

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

- include/rapidjson/istreamwrapper.h