Monero
Loading...
Searching...
No Matches
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)
Ch Peek () const
Ch Take ()
size_t Tell () const
ChPutBegin ()
void Put (Ch)
void Flush ()
size_t PutEnd (Ch *)
const ChPeek4 () const

Private Member Functions

 BasicIStreamWrapper (const BasicIStreamWrapper &)
BasicIStreamWrapperoperator= (const BasicIStreamWrapper &)

Private Attributes

StreamType & stream_
size_t count_
 Number of characters read. Note:
Ch peekBuffer_ [4]

Detailed Description

template<typename StreamType>
class 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.

Member Typedef Documentation

◆ Ch

template<typename StreamType>
typedef StreamType::char_type BasicIStreamWrapper< StreamType >::Ch

Constructor & Destructor Documentation

◆ BasicIStreamWrapper() [1/2]

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

◆ BasicIStreamWrapper() [2/2]

template<typename StreamType>
BasicIStreamWrapper< StreamType >::BasicIStreamWrapper ( const BasicIStreamWrapper< StreamType > & )
private

Member Function Documentation

◆ Flush()

template<typename StreamType>
void BasicIStreamWrapper< StreamType >::Flush ( )
inline

◆ operator=()

template<typename StreamType>
BasicIStreamWrapper & BasicIStreamWrapper< StreamType >::operator= ( const BasicIStreamWrapper< StreamType > & )
private

◆ Peek()

template<typename StreamType>
Ch BasicIStreamWrapper< StreamType >::Peek ( ) const
inline

◆ Peek4()

template<typename StreamType>
const Ch * BasicIStreamWrapper< StreamType >::Peek4 ( ) const
inline

◆ Put()

template<typename StreamType>
void BasicIStreamWrapper< StreamType >::Put ( Ch )
inline

◆ PutBegin()

template<typename StreamType>
Ch * BasicIStreamWrapper< StreamType >::PutBegin ( )
inline

◆ PutEnd()

template<typename StreamType>
size_t BasicIStreamWrapper< StreamType >::PutEnd ( Ch * )
inline

◆ Take()

template<typename StreamType>
Ch BasicIStreamWrapper< StreamType >::Take ( )
inline

◆ Tell()

template<typename StreamType>
size_t BasicIStreamWrapper< StreamType >::Tell ( ) const
inline

Member Data Documentation

◆ count_

template<typename StreamType>
size_t BasicIStreamWrapper< StreamType >::count_
private

Number of characters read. Note:

◆ peekBuffer_

template<typename StreamType>
Ch BasicIStreamWrapper< StreamType >::peekBuffer_[4]
mutableprivate

◆ stream_

template<typename StreamType>
StreamType& BasicIStreamWrapper< StreamType >::stream_
private

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