System::IO::MemoryStream class

MemoryStream class

Represents a stream that reads from and writes to memory. 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 MemoryStream : public System::IO::Stream

Methods

MethodDescription
Close() overrideCloses the stream.
Flush() overrideDoes nothing.
get_CanRead() const overrideDetermines if the stream is readable.
get_CanSeek() const overrideDetermines if the stream supports seeking.
get_CanWrite() const overrideDetermines if the stream is writable.
get_Capacity()Returns the current capacity of the underlying memory buffer.
get_Length() const overrideReturns the length of the stream in bytes.
get_Position() const overrideReturns the current position of the stream.
virtual GetBuffer()Returns a pointer to the underlying buffer.
MemoryStream()Constructs a new instance of the MemoryStream class with initial capacity equal to 0.
MemoryStream(int)Constructs a new instance of the MemoryStream class that represents a stream based on a memory buffer of the specified size.
MemoryStream(const ArrayPtr<uint8_t>&, bool)Constructs a new instance of the MemoryStream class that represents a memory stream which is connected to the specified memory buffer. A parameter specifies if the stream is writable.
MemoryStream(const ArrayPtr<uint8_t>&, int, int, bool, bool)Constructs a new instance of the MemoryStream class that represents a memory stream which is connected to a segment of the specified memory buffer starting at the specified index and including the specified number of elements. Parameters specifies if the stream is writable and if method GetBytes() can be called.
Read(const ArrayPtr<uint8_t>&, int32_t, int32_t) overrideReads the specified number of bytes from the stream and writes them to the specified byte array.
Read(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) overrideReads the specified number of bytes from the stream and writes them to the specified byte array.
ReadByte() overrideReads a single byte from the stream and returns a 32-bit integer value equivalent to the value of the read byte.
Seek(int64_t, SeekOrigin) overrideSets the position of the stream represented by the current object.
set_Capacity(int)Sets the capacity of the underlying memory buffer.
set_Position(int64_t) overrideSets the stream’s position.
SetLength(int64_t) overrideSets the length of the stream represented by the current object.
virtual ToArray()Returns a copy of underlying memory buffer as an array of bytes.
TryGetBuffer(ArraySegment<uint8_t>&)Returns the array of unsigned bytes from which this stream was created.
Write(const ArrayPtr<uint8_t>&, int32_t, int32_t) overrideWrites the specified subrange of bytes from the specified byte array to the stream.
Write(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) overrideWrites the specified subrange of bytes from the specified byte array to the stream.
WriteByte(uint8_t) overrideWrites the specified unsigned 8-bit integer value to the stream.
virtual WriteTo(SharedPtr<Stream>)Writes the content of the underlying buffer to the specified stream.

Fields

FieldDescription
static NullA stream with no underlying storage.

Typedefs

TypedefDescription
PtrAn alias for a shared pointer to the self.

See Also