ランタイム
Mix::IO::IReader Class Referenceabstract

リーダーインターフェース More...

#include <IReader.h>

Inheritance diagram for Mix::IO::IReader:
Collaboration diagram for Mix::IO::IReader:

Public Member Functions

virtual UInt32 Read (void *pReadBuffer, UInt32 readSize)=0
 現在の位置から指定されたバッファに読み込みます More...
 
virtual UInt64 Seek (Mix::IO::SEEK_METHOD seekMethod, Int64 offset)=0
 指定された位置にシークします More...
 
virtual UInt64 GetPos (void) const =0
 現在の位置を取得します More...
 
virtual UInt64 GetSize (void) const =0
 サイズを取得します More...
 
virtual const wchar_t * GetFilePath (void) const =0
 ファイルパスを取得します More...
 
virtual Boolean Clone (Mix::IO::IReader **ppClone)=0
 クローンを作成します More...
 
- Public Member Functions inherited from Mix::IO::IStream
virtual Mix::IO::IStream::ACCESS_TYPE GetAccessType (void) const =0
 アクセスタイプを取得します More...
 
virtual Mix::IO::IStream::SOURCE_TYPE GetSourceType (void) const =0
 ソースタイプを取得します More...
 
- Public Member Functions inherited from Mix::Reference
void AddRef (void)
 参照数を 1 増やします More...
 
void Release (void)
 参照数を 1 減らします More...
 
Long32 GetRefCount (void)
 参照数を取得します More...
 

Protected Member Functions

virtual ~IReader (void)
 デストラクタ More...
 
- Protected Member Functions inherited from Mix::IO::IStream
virtual ~IStream (void)
 デストラクタ More...
 
- Protected Member Functions inherited from Mix::Reference
 MIX_DECLARE_ALLOCATOR ()
 
 Reference (void)
 コンストラクタ More...
 
 Reference (Long32 count)
 コンストラクタ More...
 
virtual ~Reference (void)
 デストラクタ More...
 

Additional Inherited Members

- Public Types inherited from Mix::IO::IStream
enum  ACCESS_TYPE { A_READ = 0, A_WRITE = 1 }
 アクセスタイプ列挙定数 More...
 
enum  SOURCE_TYPE { S_FILE = 0, S_BUFFER = 1 }
 ソースタイプ列挙定数 More...
 

Detailed Description

リーダーインターフェース

Note
リーダーにはファイルを直接操作する「ファイルリーダー」と、メモリ内のファイルを操作する「バッファドリーダー」があります。
前者はファイルを直接操作するため、メモリ消費は少ないですが、リーダーを解放(ファイルを閉じる)するまで、新たにリーダーを作成することができません。
後者はメモリ内のファイルを操作するため、メモリ消費は多いですが、複数のリーダーを作成することができ、また複製することもできます。
複製はファイルが格納されているメモリを共有するため、必要以上にメモリを消費することはありません。

Constructor & Destructor Documentation

virtual Mix::IO::IReader::~IReader ( void  )
inlineprotectedvirtual

デストラクタ

Member Function Documentation

virtual UInt32 Mix::IO::IReader::Read ( void *  pReadBuffer,
UInt32  readSize 
)
pure virtual

現在の位置から指定されたバッファに読み込みます

Parameters
[in]pReadBuffer読み込み先バッファ
[in]readSize読み込むサイズ
Returns
実際に読み込んだサイズを返します
virtual UInt64 Mix::IO::IReader::Seek ( Mix::IO::SEEK_METHOD  seekMethod,
Int64  offset 
)
pure virtual

指定された位置にシークします

Parameters
[in]seekMethodシーク方式を表す Mix::IO::SEEK_METHOD 列挙定数
[in]offsetオフセット
Returns
シーク後の位置を返します
virtual UInt64 Mix::IO::IReader::GetPos ( void  ) const
pure virtual

現在の位置を取得します

Returns
現在の位置を返します
virtual UInt64 Mix::IO::IReader::GetSize ( void  ) const
pure virtual

サイズを取得します

Returns
サイズを返します
virtual const wchar_t* Mix::IO::IReader::GetFilePath ( void  ) const
pure virtual

ファイルパスを取得します

Returns
ファイルパスを返します
virtual Boolean Mix::IO::IReader::Clone ( Mix::IO::IReader **  ppClone)
pure virtual

クローンを作成します

Parameters
[out]ppClone作成したクローンを渡す Mix::IO::IReader インターフェースのポインタのアドレス
Returns
成功した場合は True を返します
Note
クローンが作成できるのは、アクセスタイプが A_READ、ソースタイプが S_BUFFER に限定されます。

The documentation for this class was generated from the following file: