BinaryWriter

BinaryWriter class

Represents a writer that writes values of primitive types to a byte stream. 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 BinaryWriter : public System::IDisposable

Methods

MethodDescription
BinaryWriter(const StreamPtr&, const EncodingPtr&, bool)Constructs an instance of BinaryWriter class that writes data to the specified stream using the specified encoding.
void Close()Closes the current BinaryWriter object and the underlying output 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.
void Flush()Flushes the output stream.
StreamPtr get_BaseStream()Returns the output 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.
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.
int64_t Seek(int, System::IO::SeekOrigin)Sets the position of the stream represented by the current object.
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 void Write(uint8_t)Writes the specified unsigned 8-bit integer value to the output stream.
virtual void Write(const ArrayPtr<uint8_t>&, int, int)Writes the specified subrange of bytes from the specified byte array to the output stream.
virtual void Write(const ArrayPtr<char_t>&, int, int)Writes the specified subrange of UTF-16 characters from the specified character array to the output stream.
virtual void Write(bool)Writes single byte with a value of 0 if value is ’true’ and 1 if value is ‘false’ to the output stream.
virtual void Write(char16_t)Writes the specified 16-bit wide character value to the output stream.
virtual void Write(int16_t)Writes the specified 16-bit integer value to the output stream.
virtual void Write(int)Writes the specified 32-bit integer value to the output stream.
virtual void Write(int64_t)Writes the specified 64-bit integer value to the output stream.
virtual void Write(uint16_t)Writes the specified unsigned 16-bit integer value to the output stream.
virtual void Write(uint32_t)Writes the specified unsigned 32-bit integer value to the output stream.
virtual void Write(uint64_t)Writes the specified unsigned 64-bit integer value to the output stream.
virtual void Write(float)Writes the specified single-precision floating point value to the output stream.
virtual void Write(double)Writes the specified double-precision floating point value to the output stream.
virtual void Write(const Decimal&)Writes the byte representation of the specified Decimal value to the output stream.
virtual void Write(const String&)Writes a length-prefixed string in the current encoding to the output stream.
virtual void Write(const char_t *)Writes a length-prefixed string in the current encoding to the output stream.
~BinaryWriter()Destructor.
virtual ~Object()Destroys object. Frees all internal data structures.

See Also