データの読み書き先としてメモリを使用するストリームです。
More...
#include <MemoryStream.hpp>
|
| MemoryStream (void *buffer, size_t size) |
| 既存のバッファを参照する、サイズ変更できない MemoryStream を構築します。 More...
|
|
| MemoryStream (const void *buffer, size_t size, bool copy=false) |
| 既存のバッファを参照する、サイズ変更できない読み取り専用の MemoryStream を構築します。 More...
|
|
void * | data () const |
| データの読み書き先バイト配列の先頭アドレスを取得します。
|
|
virtual bool | canRead () const override |
| 読み取りをサポートするかどうかを確認します。
|
|
virtual bool | canWrite () const override |
| 書き込みをサポートするかどうかを確認します。
|
|
virtual int64_t | length () const override |
| ストリームの長さ (バイト単位) を取得します。 More...
|
|
virtual int64_t | position () const override |
| ストリーム内の現在位置 (ファイルポインタの位置) を取得します。 More...
|
|
virtual size_t | read (void *buffer, size_t byteCount) override |
| バイト シーケンスを読み取り、読み取ったバイト数の分だけストリームの現在位置を進めます。 More...
|
|
virtual void | write (const void *data, size_t byteCount) override |
| 現在のストリームにバイト シーケンスを書き込み、書き込んだバイト数の分だけストリームの現在位置を進めます。 More...
|
|
virtual void | seek (int64_t offset, SeekOrigin origin) override |
| ストリームの現在位置を指定した位置に設定します。 More...
|
|
virtual void | flush () override |
| ストリームの内部バッファのデータを全てターゲット(ファイル等)に書き込み、内部バッファをクリアします。
|
|
|
virtual void | finalize () |
| 参照がなくなり、オブジェクトが削除されようとしているときに呼び出されます。実装コードでは仮想関数を呼び出すことができます。主にデストラクタの制限を回避するために使用します。
|
|
データの読み書き先としてメモリを使用するストリームです。
◆ MemoryStream() [1/2]
ln::MemoryStream::MemoryStream |
( |
void * |
buffer, |
|
|
size_t |
size |
|
) |
| |
既存のバッファを参照する、サイズ変更できない MemoryStream を構築します。
- Parameters
-
buffer | : バッファの先頭アドレス |
size | : サイズ(バイト数) |
buffer に指定したバッファは、このクラスのインスタンスが存在する間は開放しないでください。
◆ MemoryStream() [2/2]
ln::MemoryStream::MemoryStream |
( |
const void * |
buffer, |
|
|
size_t |
size, |
|
|
bool |
copy = false |
|
) |
| |
既存のバッファを参照する、サイズ変更できない読み取り専用の MemoryStream を構築します。
- Parameters
-
buffer | : バッファの先頭アドレス |
size | : サイズ(バイト数) |
buffer に指定したバッファは、このクラスのインスタンスが存在する間は開放しないでください。
◆ length()
virtual int64_t ln::MemoryStream::length |
( |
| ) |
const |
|
overridevirtual |
ストリームの長さ (バイト単位) を取得します。
- Attention
- パイプストリームでは、この機能はサポートされません。
Implements ln::Stream.
◆ position()
virtual int64_t ln::MemoryStream::position |
( |
| ) |
const |
|
overridevirtual |
ストリーム内の現在位置 (ファイルポインタの位置) を取得します。
- Attention
- パイプストリームでは、この機能はサポートされません。
Implements ln::Stream.
◆ read()
virtual size_t ln::MemoryStream::read |
( |
void * |
buffer, |
|
|
size_t |
byteCount |
|
) |
| |
|
overridevirtual |
バイト シーケンスを読み取り、読み取ったバイト数の分だけストリームの現在位置を進めます。
- Parameters
-
buffer | : 読み取ったデータの格納先アドレス |
byteCount | : 読み取るバイト数 |
- Returns
- 実際に読み取ったバイト数。EOF に到達している場合は 0 を返します。
Implements ln::Stream.
◆ seek()
virtual void ln::MemoryStream::seek |
( |
int64_t |
offset, |
|
|
SeekOrigin |
origin |
|
) |
| |
|
overridevirtual |
ストリームの現在位置を指定した位置に設定します。
- Attention
- パイプストリームでは、この機能はサポートされません。
Implements ln::Stream.
◆ write()
virtual void ln::MemoryStream::write |
( |
const void * |
data, |
|
|
size_t |
byteCount |
|
) |
| |
|
overridevirtual |
現在のストリームにバイト シーケンスを書き込み、書き込んだバイト数の分だけストリームの現在位置を進めます。
- Parameters
-
data | : 書き込むデータ |
byteCount | : バイト数 |
Implements ln::Stream.
The documentation for this class was generated from the following file:
- /home/runner/work/Website/Website/_Lumino/include/LuminoCore/IO/MemoryStream.hpp