126 bool m_bIsLittleEndian;
129 void EnsureNotDisposed()
const;
130 void FillBuffer(
char* pBuffer,
int iCount);
Provides methods for creating, manipulating, searching, and sorting arrays.
Defines common cross-platform macros, export decorators, and fundamental types.
#define DOTNETDUPE_API
Platform-specific linkage decoration for exporting or importing library symbols.
Base object class for DotNetDupe mirroring .NET System.Object.
Provides reference-counted and weak pointer memory management primitives ensuring zero raw ownership.
High-performance UTF-8 / UTF-16 string manipulation class mirroring .NET System.String.
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
virtual String ReadString(int iLength)
Reads a string of specified byte length from the current stream.
bool IsLittleEndian() const
Gets whether values are decoded in little-endian order.
virtual int Read(Array< byte > &arrBuffer, int iIndex, int iCount)
Reads the specified number of bytes from the stream into an array starting at a specific index.
virtual short ReadInt16()
Reads a 2-byte signed integer from the current stream.
virtual bool ReadBoolean()
Reads a Boolean value from the current stream and advances the current position by one byte.
virtual int ReadInt32()
Reads a 4-byte signed integer from the current stream.
virtual double ReadDouble()
Reads an 8-byte floating point value from the current stream.
virtual signed char ReadSByte()
Reads a signed byte from this stream and advances the current position by one byte.
virtual float ReadSingle()
Reads a 4-byte floating point value from the current stream.
virtual unsigned long long ReadUInt64()
Reads an 8-byte unsigned integer from the current stream.
virtual void Close()
Closes the current reader and the underlying stream if configured.
virtual long long ReadInt64()
Reads an 8-byte signed integer from the current stream.
virtual Array< byte > ReadBytes(int iCount)
Reads the specified number of bytes from the current stream into a byte array.
virtual unsigned short ReadUInt16()
Reads a 2-byte unsigned integer from the current stream.
void Dispose() override
Releases all unmanaged resources used by the BinaryReader.
virtual byte ReadByte()
Reads the next byte from the current stream and advances the current position by one byte.
virtual unsigned int ReadUInt32()
Reads a 4-byte unsigned integer from the current stream.
BinaryReader(Stream *pStream, bool bLeaveOpen=false, bool bIsLittleEndian=true)
Initializes a new instance of the BinaryReader class based on the specified stream and endianness.
Stream * GetBaseStream() const
Exposes access to the underlying stream.
void SetLittleEndian(bool bIsLittleEndian)
Sets the endianness for binary decoding.
virtual char ReadChar()
Reads the next character from the current stream.
Provides a mechanism for releasing unmanaged resources.
Provides a generic view of a sequence of bytes.
Supports all classes in the DotNetDupe class hierarchy.
A unified smart pointer that supports both unique and shared ownership semantics.
Represents text as a sequence of UTF-8 code units with culture-invariant operations.
SmartPointer< BinaryReader > BinaryReaderPtr