Public Member Functions | Private Types | Private Attributes | List of all members
GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, false > Class Template Reference
Inheritance diagram for GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, false >:
GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, false, false > GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, true >

Public Member Functions

 NumberStream (GenericReader &reader, InputStream &is)
 
RAPIDJSON_FORCEINLINE Ch TakePush ()
 
RAPIDJSON_FORCEINLINE void Push (char c)
 
size_t Length ()
 
const char * Pop ()
 
- Public Member Functions inherited from GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, false, false >
 NumberStream (GenericReader &reader, InputStream &s)
 
RAPIDJSON_FORCEINLINE Ch Peek () const
 
RAPIDJSON_FORCEINLINE Ch TakePush ()
 
RAPIDJSON_FORCEINLINE Ch Take ()
 
RAPIDJSON_FORCEINLINE void Push (char)
 
size_t Tell ()
 
size_t Length ()
 
const char * Pop ()
 

Private Types

typedef NumberStream< InputStream, false, false > Base
 

Private Attributes

StackStream< char > stackStream
 

Additional Inherited Members

- Public Types inherited from GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, false, false >
typedef InputStream::Ch Ch
 
- Protected Member Functions inherited from GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, false, false >
NumberStreamoperator= (const NumberStream &)
 
- Protected Attributes inherited from GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, false, false >
InputStream & is
 

Detailed Description

template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
template<typename InputStream>
class GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, false >

Definition at line 1419 of file reader.h.

Member Typedef Documentation

template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
template<typename InputStream >
typedef NumberStream<InputStream, false, false> GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, false >::Base
private

Definition at line 1420 of file reader.h.

Constructor & Destructor Documentation

template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
template<typename InputStream >
GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, false >::NumberStream ( GenericReader reader,
InputStream &  is 
)
inline

Definition at line 1422 of file reader.h.

1422 : Base(reader, is), stackStream(reader.stack_) {}
NumberStream< InputStream, false, false > Base
Definition: reader.h:1420
internal::Stack< StackAllocator > stack_
A stack for storing decoded string temporarily during non-destructive parsing.
Definition: reader.h:2211

Member Function Documentation

template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
template<typename InputStream >
size_t GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, false >::Length ( )
inline

Definition at line 1433 of file reader.h.

1433 { return stackStream.Length(); }
size_t Length() const
Definition: reader.h:941
template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
template<typename InputStream >
const char* GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, false >::Pop ( )
inline

Definition at line 1435 of file reader.h.

1435  {
1436  stackStream.Put('\0');
1437  return stackStream.Pop();
1438  }
RAPIDJSON_FORCEINLINE void Put(Ch c)
Definition: reader.h:931
template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
template<typename InputStream >
RAPIDJSON_FORCEINLINE void GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, false >::Push ( char  c)
inline

Definition at line 1429 of file reader.h.

1429  {
1430  stackStream.Put(c);
1431  }
RAPIDJSON_FORCEINLINE void Put(Ch c)
Definition: reader.h:931
template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
template<typename InputStream >
RAPIDJSON_FORCEINLINE Ch GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, false >::TakePush ( )
inline

Definition at line 1424 of file reader.h.

1424  {
1425  stackStream.Put(static_cast<char>(Base::is.Peek()));
1426  return Base::is.Take();
1427  }
RAPIDJSON_FORCEINLINE void Put(Ch c)
Definition: reader.h:931
RAPIDJSON_FORCEINLINE Ch Peek() const
Definition: reader.h:1403

Member Data Documentation

template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
template<typename InputStream >
StackStream<char> GenericReader< SourceEncoding, TargetEncoding, StackAllocator >::NumberStream< InputStream, true, false >::stackStream
private

Definition at line 1441 of file reader.h.


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