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 на текущий объект.

См. также