Electroneum
Loading...
Searching...
No Matches
FileReadStream Class Reference

File byte stream for input using fread(). More...

#include <filereadstream.h>

Public Types

typedef char Ch
 Character type (byte).

Public Member Functions

 FileReadStream (std::FILE *fp, char *buffer, size_t bufferSize)
 Constructor.
Ch Peek () const
Ch Take ()
size_t Tell () const
void Put (Ch)
void Flush ()
ChPutBegin ()
size_t PutEnd (Ch *)
const ChPeek4 () const

Detailed Description

File byte stream for input using fread().

Note
implements Stream concept

Definition at line 34 of file filereadstream.h.

Member Typedef Documentation

◆ Ch

typedef char FileReadStream::Ch

Character type (byte).

Definition at line 36 of file filereadstream.h.

Constructor & Destructor Documentation

◆ FileReadStream()

FileReadStream::FileReadStream ( std::FILE * fp,
char * buffer,
size_t bufferSize )
inline

Constructor.

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

Definition at line 44 of file filereadstream.h.

44 : fp_(fp), buffer_(buffer), bufferSize_(bufferSize), bufferLast_(0), current_(buffer_), readCount_(0), count_(0), eof_(false) {
45 RAPIDJSON_ASSERT(fp_ != 0);
46 RAPIDJSON_ASSERT(bufferSize >= 4);
47 Read();
48 }
#define RAPIDJSON_ASSERT(x)
Assertion.
Definition rapidjson.h:411

Member Function Documentation

◆ Flush()

void FileReadStream::Flush ( )
inline

Definition at line 56 of file filereadstream.h.

56{ RAPIDJSON_ASSERT(false); }

◆ Peek()

Ch FileReadStream::Peek ( ) const
inline

Definition at line 50 of file filereadstream.h.

50{ return *current_; }
Here is the caller graph for this function:

◆ Peek4()

const Ch * FileReadStream::Peek4 ( ) const
inline

Definition at line 61 of file filereadstream.h.

61 {
62 return (current_ + 4 <= bufferLast_) ? current_ : 0;
63 }

◆ Put()

void FileReadStream::Put ( Ch )
inline

Definition at line 55 of file filereadstream.h.

55{ RAPIDJSON_ASSERT(false); }

◆ PutBegin()

Ch * FileReadStream::PutBegin ( )
inline

Definition at line 57 of file filereadstream.h.

57{ RAPIDJSON_ASSERT(false); return 0; }

◆ PutEnd()

size_t FileReadStream::PutEnd ( Ch * )
inline

Definition at line 58 of file filereadstream.h.

58{ RAPIDJSON_ASSERT(false); return 0; }

◆ Take()

Ch FileReadStream::Take ( )
inline

Definition at line 51 of file filereadstream.h.

51{ Ch c = *current_; Read(); return c; }
char Ch
Character type (byte).
Here is the caller graph for this function:

◆ Tell()

size_t FileReadStream::Tell ( ) const
inline

Definition at line 52 of file filereadstream.h.

52{ return count_ + static_cast<size_t>(current_ - buffer_); }
Here is the caller graph for this function:

The documentation for this class was generated from the following file:
  • /home/abuild/rpmbuild/BUILD/electroneum-5.1.3.1-build/electroneum-5.1.3.1/external/rapidjson/include/rapidjson/filereadstream.h