System::IO::MemoryStream class

MemoryStream class

Представляет поток, который читает из памяти и записывает в неё. Объекты этого класса должны выделяться только с помощью функции System::MakeObject(). Никогда не создавайте экземпляр этого типа в стеке или с помощью оператора new, так как это приведёт к ошибкам времени выполнения и/или сбоям утверждений. Всегда оборачивайте этот класс в указатель System::SmartPtr и используйте этот указатель для передачи его в функции в качестве аргумента.

class MemoryStream : public System::IO::Stream

Методы

МетодОписание
Close() overrideЗакрывает поток.
Flush() overrideНе делает ничего.
get_CanRead() const overrideОпределяет, читаем ли поток.
get_CanSeek() const overrideОпределяет, поддерживает ли поток перемещение.
get_CanWrite() const overrideОпределяет, доступен ли поток для записи.
get_Capacity()Возвращает текущую ёмкость базового буфера памяти.
get_Length() const overrideВозвращает длину потока в байтах.
get_Position() const overrideВозвращает текущую позицию потока.
virtual GetBuffer()Возвращает указатель на базовый буфер.
MemoryStream()Создаёт новый экземпляр класса MemoryStream с начальной ёмкостью, равной 0.
MemoryStream(int)Создаёт новый экземпляр класса MemoryStream, представляющий поток, основанный на буфере памяти указанного размера.
MemoryStream(const ArrayPtr<uint8_t>&, bool)Создаёт новый экземпляр класса MemoryStream, представляющий поток памяти, подключённый к указанному буферу памяти. Параметр указывает, является ли поток записываемым.
MemoryStream(const ArrayPtr<uint8_t>&, int, int, bool, bool)Создаёт новый экземпляр класса MemoryStream, представляющий поток памяти, подключённый к сегменту указанного буфера памяти, начинающемуся с указанного индекса и включающему указанное количество элементов. Параметры указывают, является ли поток записываемым и можно ли вызвать метод GetBytes().
Read(const ArrayPtr<uint8_t>&, int32_t, int32_t) overrideСчитывает указанное количество байтов из потока и записывает их в указанный массив байтов.
Read(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) overrideСчитывает указанное количество байтов из потока и записывает их в указанный массив байтов.
ReadByte() overrideЧитает один байт из потока и возвращает 32‑битное целочисленное значение, эквивалентное значению прочитанного байта.
Seek(int64_t, SeekOrigin) overrideУстанавливает позицию потока, представленного текущим объектом.
set_Capacity(int)Устанавливает ёмкость базового буфера памяти.
set_Position(int64_t) overrideУстанавливает позицию потока.
SetLength(int64_t) overrideУстанавливает длину потока, представленного текущим объектом.
virtual ToArray()Возвращает копию базового буфера памяти в виде массива байтов.
TryGetBuffer(ArraySegment<uint8_t>&)Возвращает массив беззнаковых байтов, из которого был создан этот поток.
Write(const ArrayPtr<uint8_t>&, int32_t, int32_t) overrideЗаписывает указанный поддиапазон байтов из указанного массива байтов в поток.
Write(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) overrideЗаписывает указанный поддиапазон байтов из указанного массива байтов в поток.
WriteByte(uint8_t) overrideЗаписывает указанное беззнаковое 8‑битное целое значение в поток.
virtual WriteTo(SharedPtr<Stream>)Записывает содержимое базового буфера в указанный поток.

Поля

ПолеОписание
static NullПоток без базового хранилища.

Typedefs

Определение типа.Описание
PtrПсевдоним для shared pointer к самому объекту.

См. также