BinaryReader

BinaryReader class

Represents a reader that reads primitive data types as binary data in particular encoding. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

class BinaryReader : public System::IDisposable

Methods

MethodDescription
BinaryReader(const SharedPtr<Stream>&)Constructs an instance of BinaryReader class that reads data from the specified stream using UTF-8 encoding.
BinaryReader(const SharedPtr<Stream>&, const SharedPtr<Text::Encoding>&)Constructs an instance of BinaryReader class that reads data from the specified stream using the specified encoding.
BinaryReader(const SharedPtr<Stream>&, const SharedPtr<Text::Encoding>&, bool)Constructs an instance of BinaryReader class that reads data from the specified stream using the specified encoding.
virtual void Close()Closes the current BinaryReader object and the underlying input stream.
void Dispose() overrideReleases all resources used by the current object and closes the undelying stream.
virtual bool Equals(ptr)Compares objects using C# Object.Equals semantics.
static std::enable_if<IsSmartPtr<T1>::value&&IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares reference type objects in C# style.
static std::enable_if<!IsSmartPtr<T1>::value&&!IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares value type objects in C# style.
static bool Equals(float const&, float const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
static bool Equals(double const&, double const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
virtual bool FastCast(const Details::FastRttiBase&, void **) constFor internal purposes only.
virtual SharedPtr<Stream> get_BaseStream()Returns the input stream.
Detail::SmartPtrCounter * GetCounter()Gets reference counter data structure associated with the object.
virtual int32_t GetHashCode() constAnalog of C# Object.GetHashCode() method. Enables hashing of custom objects.
virtual const TypeInfo& GetType() constGets actual type of object. Analog of C# System.Object.GetType() call.
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
void Lock()Implements C# lock() statement locking. Call directly or use LockContext sentry object.
virtual ptr MemberwiseClone() constAnalog of C# Object.MemberwiseClone() method. Enables cloning custom types.
Object()Creates object. Initializes all internal data structures.
Object(Object const&)Copy constructor. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
Object& operator=(Object const&)Assignment operator. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
virtual int PeekChar()Reads a single character from the input stream without changing the stream’s read cursor.
virtual int Read()Reads a single character from the input stream.
virtual int Read(ArrayPtr<uint8_t>, int, int)Reads the specified number of bytes from the input stream and writes them to the specified byte array.
virtual int Read(ArrayPtr<char_t>, int, int)Reads the specified number of characters from the input stream, converts them to UTF-16 encoding and writes the resulting UTF-16 characters to the specified character array starting at the specified position.
virtual bool ReadBoolean()Reads a single byte from the input stream and returns its boolean representation.
virtual uint8_t ReadByte()Reads a single byte from the input stream.
virtual ArrayPtr<uint8_t> ReadBytes(int)Reads the specified number of bytes from the input stream.
virtual char_t ReadChar()Reads a single character from the input stream.
virtual ArrayPtr<char_t> ReadChars(int)Reads the specified number of characters from the input stream and returns them in UTF-16 ecoding.
virtual Decimal ReadDecimal()NOT IMPLEMENTED.
virtual double ReadDouble()Reads 8 bytes from the input stream and returns them as a double-precision floating point value.
virtual int16_t ReadInt16()Reads 2 bytes from the input stream and returns them as a 16-bit integer value.
virtual int ReadInt32()Reads 4 bytes from the input stream and returns them as a 32-bit integer value.
virtual int64_t ReadInt64()Reads 8 bytes from the input stream and returns them as a 64-bit integer value.
virtual int8_t ReadSByte()Reads a single byte from the input stream and returns it as a signed 8-bit integer value.
virtual float ReadSingle()Reads 4 bytes from the input stream and returns them as a single-precision floating point value.
virtual String ReadString()Reads a string from the current stream. The string is prefixed with the length, encoded as an integer seven bits at a time.
virtual uint16_t ReadUInt16()Reads 2 bytes from the input stream and returns them as an unsigned 16-bit integer value.
virtual uint32_t ReadUInt32()Reads 4 bytes from the input stream and returns them as an unsigned 32-bit integer value.
virtual uint64_t ReadUInt64()Reads 8 bytes from the input stream and returns them as an unsigned 64-bit integer value.
static bool ReferenceEquals(ptr const&, ptr const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, T const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, std::nullptr_t)Reference-compares value type object with nullptr.
bool ReferenceEquals(String const&, std::nullptr_t)Specialization of Object::ReferenceEquals for case of string and nullptr.
bool ReferenceEquals(String const&, String const&)Specialization of Object::ReferenceEquals for case of strings.
int RemovedSharedRefs(int)Decreases shared reference count by specified value.
virtual void SetTemplateWeakPtr(uint32_t)Set n’th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode.
int SharedCount() constGets current value of shared reference counter.
Object * SharedRefAdded()Increments shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
int SharedRefRemovedSafe()Decrements and returns shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
virtual String ToString() constAnalog of C# Object.ToString() method. Enables converting custom objects to string.
static const TypeInfo& Type()Implements C# typeof(System.Object) construct.
void Unlock()Implements C# lock() statement unlocking. Call directly or use LockContext sentry object.
Detail::SmartPtrCounter * WeakRefAdded()Increments weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void WeakRefRemoved()Decrements weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
virtual ~BinaryReader()Destructor.
virtual ~Object()Destroys object. Frees all internal data structures.

See Also