HEVC Test Model (HM)  HM-16.3
Public Member Functions | Private Attributes | List of all members

#include <AnnexBread.h>

Collaboration diagram for InputByteStream:
Collaboration graph

Public Member Functions

 InputByteStream (std::istream &istream)
Void reset ()
Bool eofBeforeNBytes (UInt n)
uint32_t peekBytes (UInt n)
uint8_t readByte ()
uint32_t readBytes (UInt n)

Private Attributes

UInt m_NumFutureBytes
uint32_t m_FutureBytes
std::istream & m_Input

Detailed Description

Definition at line 53 of file AnnexBread.h.

Constructor & Destructor Documentation

InputByteStream::InputByteStream ( std::istream &  istream)

Create a bytestream reader that will extract bytes from istream.

NB, it isn't safe to access istream while in use by a InputByteStream.

Side-effects: the exception mask of istream is set to eofbit

Definition at line 65 of file AnnexBread.h.

Member Function Documentation

Bool InputByteStream::eofBeforeNBytes ( UInt  n)

returns true if an EOF will be encountered within the next n bytes.

Definition at line 87 of file AnnexBread.h.

uint32_t InputByteStream::peekBytes ( UInt  n)

return the next n bytes in the stream without advancing the stream pointer.

Returns: an unsigned integer representing an n byte bigendian word.

If an attempt is made to read past EOF, an n-byte word is returned, but the portion that required input bytes beyond EOF is undefined.

Definition at line 123 of file AnnexBread.h.

uint8_t InputByteStream::readByte ( )

consume and return one byte from the input.

If bytestream is already at EOF prior to a call to readByte(), an exception std::ios_base::failure is thrown.

Definition at line 135 of file AnnexBread.h.

uint32_t InputByteStream::readBytes ( UInt  n)

consume and return n bytes from the input. n bytes from bytestream are interpreted as bigendian when assembling the return value.

Definition at line 153 of file AnnexBread.h.

Void InputByteStream::reset ( )

Reset the internal state. Must be called if input stream is modified externally to this class

Definition at line 77 of file AnnexBread.h.

Member Data Documentation

uint32_t InputByteStream::m_FutureBytes

Definition at line 169 of file AnnexBread.h.

std::istream& InputByteStream::m_Input

Definition at line 170 of file AnnexBread.h.

UInt InputByteStream::m_NumFutureBytes

Definition at line 168 of file AnnexBread.h.

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