nlib
nn::nlib::FileInputStream クラスfinal

ファイルの入力ストリームです。 [詳解]

#include "nn/nlib/FileInputStream.h"

+ nn::nlib::FileInputStream の継承関係図

公開メンバ関数

errno_t Init () noexcept
 ストリームをデフォルトの設定で初期化します。 [詳解]
 
NLIB_CHECK_RESULT errno_t Init (const FileInputStreamSettings &settings) noexcept
 ストリームを初期化します。 [詳解]
 
NLIB_CHECK_RESULT errno_t Open (const char *filename) noexcept
 ファイルを読み取り専用でオープンします。 [詳解]
 
NLIB_CHECK_RESULT errno_t Open (const wchar_t *filename) noexcept
 ファイルを読み取り専用でオープンします。 [詳解]
 
NLIB_CHECK_RESULT errno_t FdOpen (nlib_fd fd) noexcept
 既にオープンされたファイルでFileInputStreamを利用できるようにします。 [詳解]
 
nlib_fd GetFd () const noexcept
 ファイルディスクリプタを返します。 [詳解]
 
基本的なメンバ関数
 FileInputStream () noexcept
 デフォルトコンストラクタです。更にInit()でバッファを設定して初期化する必要があります。
 
virtual ~FileInputStream () noexcept override
 デストラクタです。ファイルが開いている場合は閉じます。
 
- 基底クラス nn::nlib::InputStream に属する継承公開メンバ関数
errno_t GetErrorValue () const noexcept
 エラー値を取得します。 [詳解]
 
size_t Pos () const noexcept
 ストリーム上の現在位置を返します。 [詳解]
 
uint64_t Pos64 () const noexcept
 ストリーム上の現在位置を64bit値で返します。 [詳解]
 
bool IsEos () noexcept
 ストリームを最後まで読み終えている場合trueを返します。最後まで読み終えていない場合やエラーが発生している場合はfalseを返します。 [詳解]
 
int Read () noexcept
 ストリームから1バイトを読み込みます。 [詳解]
 
NLIB_CHECK_RESULT int Peek () noexcept
 ストリームを消費せずに次の1バイトを読み込みます。 [詳解]
 
size_t Skip (size_t nbytes) noexcept
 nbytes を読み飛ばします。 [詳解]
 
size_t Read (void *ptr, size_t nbytes) noexcept
 ptr で示されるメモリにnbytes 読み込みます。 [詳解]
 
bool Close () noexcept
 ストリームを閉じます。成功した場合にはtrueを返します。 [詳解]
 
 operator bool () const
 内部でエラーが発生していなければtrueを返します。
 
constexpr InputStream () noexcept
 コンストラクタです。派生クラスから呼び出されます。
 
virtual ~InputStream () noexcept
 デストラクタです。派生クラスから呼び出されます。
 

その他の継承メンバ

- 基底クラス nn::nlib::InputStream に属する継承限定公開メンバ関数
void ResetBuffer (void *p, size_t nbytes) noexcept
 InputStreamが持つバッファを設定します。 [詳解]
 
void SetError (errno_t e) const noexcept
 InputStreamにエラーを設定します。 [詳解]
 

詳解

ファイルの入力ストリームです。

説明
同期・シーケンシャルなアクセスのみをサポートします。 各環境のファイルAPIをラップしたクラスで、自らのバッファを持っています。
オブジェクトの状態遷移
オブジェクトの状態遷移の概略は以下のとおりです。
dot_inline_dotgraph_6.png
各種例:
misc/readfile/readfile.cpp, misc/writefile/writefile.cpp, succinct/detection/detection.cpp, succinct/kwlink/kwlink.cpp.

FileInputStream.h34 行目に定義があります。

関数詳解

◆ FdOpen()

nn::nlib::FileInputStream::FdOpen ( nlib_fd  fd)
noexcept

既にオープンされたファイルでFileInputStreamを利用できるようにします。

引数
[in]fd既にオープンされたnlib_fd型の値
戻り値
成功した場合は0を返します。それ以外の場合はエラー
説明
Init()が事前に実行されていない場合は、内部でInit()を実行します。

◆ GetFd()

nn::nlib::FileInputStream::GetFd ( ) const
inlinenoexcept

ファイルディスクリプタを返します。

戻り値
ファイルディスクリプタ

FileInputStream.h49 行目に定義があります。

◆ Init() [1/2]

nn::nlib::FileInputStream::Init ( )
inlinenoexcept

ストリームをデフォルトの設定で初期化します。

戻り値
成功した場合は0を返します。それ以外の場合はエラー
説明
FileInputStreamオブジェクトは内部でバッファを利用しますが、そのバッファをデフォルトサイズでヒープから確保します。

FileInputStream.h41 行目に定義があります。

◆ Init() [2/2]

nn::nlib::FileInputStream::Init ( const FileInputStreamSettings settings)
noexcept

ストリームを初期化します。

引数
[in]settings初期化オプション
戻り値
成功した場合は0を返します。それ以外の場合はエラー
説明
バッファサイズのみを指定した場合は内部でヒープからバッファを確保します。

◆ Open() [1/2]

nn::nlib::FileInputStream::Open ( const char *  filename)
noexcept

ファイルを読み取り専用でオープンします。

引数
[in]filenameファイルへのパス
戻り値
成功した場合は0を返します。それ以外の場合はエラー
説明
Init()が事前に実行されていない場合は、内部でInit()を実行します。

◆ Open() [2/2]

nn::nlib::FileInputStream::Open ( const wchar_t *  filename)
noexcept

ファイルを読み取り専用でオープンします。

引数
[in]filenameファイルへのパス
戻り値
成功した場合は0を返します。それ以外の場合はエラー
説明
Init()が事前に実行されていない場合は、内部でInit()を実行します。

このクラス詳解は次のファイルから抽出されました: