OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::BinaryWriter Class Reference

書き込み用バイナリファイル More...

#include <BinaryWriter.hpp>

Inherits s3d::IWriter.

Public Member Functions

SIV3D_NODISCARD_CXX20 BinaryWriter ()
 デフォルトコンストラクタ More...
 
SIV3D_NODISCARD_CXX20 BinaryWriter (FilePathView path, OpenMode openMode=OpenMode::Trunc)
 ファイルを開きます。 More...
 
bool open (FilePathView path, OpenMode openMode=OpenMode::Trunc)
 ファイルを開きます。 More...
 
void close ()
 ファイルを閉じます。 More...
 
bool isOpen () const noexcept override
 ファイルが開いているかを返します。 More...
 
 operator bool () const noexcept
 ファイルが開いているかを返します。 More...
 
void flush ()
 書き込んだデータのバッファをフラッシュして、確実にファイルに書き込みます。 More...
 
void clear ()
 開いているファイルの内容をすべて消去し、サイズが 0 のファイルにします。 More...
 
int64 size () const override
 開いているファイルの現在のサイズ(バイト)を返します。 More...
 
int64 getPos () const override
 現在の書き込み位置を返します。 More...
 
bool setPos (int64 pos) override
 書き込み位置を変更します。 More...
 
int64 seekToEnd ()
 書き込み位置をファイルの終端に移動させます。 More...
 
int64 write (const void *src, int64 sizeBytes) override
 現在の書き込み位置にデータを書き込みます。 More...
 
SIV3D_CONCEPT_TRIVIALLY_COPYABLE bool write (const TriviallyCopyable &src)
 現在の書き込み位置にデータを書き込みます。 More...
 
const FilePathpath () const noexcept
 開いているファイルのパスを返します。 More...
 
- Public Member Functions inherited from s3d::IWriter
virtual ~IWriter ()=default
 デストラクタ More...
 
SIV3D_CONCEPT_TRIVIALLY_COPYABLE bool write (const TriviallyCopyable &src)
 Writer にデータを書き込みます。 More...
 

Detailed Description

書き込み用バイナリファイル

Constructor & Destructor Documentation

◆ BinaryWriter() [1/2]

SIV3D_NODISCARD_CXX20 s3d::BinaryWriter::BinaryWriter ( )

デフォルトコンストラクタ

◆ BinaryWriter() [2/2]

SIV3D_NODISCARD_CXX20 s3d::BinaryWriter::BinaryWriter ( FilePathView  path,
OpenMode  openMode = OpenMode::Trunc 
)
explicit

ファイルを開きます。

Parameters
pathファイルパス
openModeオープンモード (OpenMode の組み合わせ)

Member Function Documentation

◆ clear()

void s3d::BinaryWriter::clear ( )

開いているファイルの内容をすべて消去し、サイズが 0 のファイルにします。

◆ close()

void s3d::BinaryWriter::close ( )

ファイルを閉じます。

Remarks
ファイルがオープンしていない場合は何もしません。

◆ flush()

void s3d::BinaryWriter::flush ( )

書き込んだデータのバッファをフラッシュして、確実にファイルに書き込みます。

◆ getPos()

int64 s3d::BinaryWriter::getPos ( ) const
overridevirtual

現在の書き込み位置を返します。

Returns
現在の書き込み位置

Implements s3d::IWriter.

◆ isOpen()

bool s3d::BinaryWriter::isOpen ( ) const
overridevirtualnoexcept

ファイルが開いているかを返します。

Returns
ファイルが開いている場合 true, それ以外の場合は false

Implements s3d::IWriter.

◆ open()

bool s3d::BinaryWriter::open ( FilePathView  path,
OpenMode  openMode = OpenMode::Trunc 
)

ファイルを開きます。

Parameters
pathファイルパス
openModeオープンモード (OpenMode の組み合わせ)
Returns
ファイルのオープンに成功した場合 true, それ以外の場合は false

◆ operator bool()

s3d::BinaryWriter::operator bool ( ) const
explicitnoexcept

ファイルが開いているかを返します。

Returns
ファイルが開いている場合 true, それ以外の場合は false

◆ path()

const FilePath& s3d::BinaryWriter::path ( ) const
noexcept

開いているファイルのパスを返します。

Returns
開いているファイルのパス。ファイルが開いていない場合は空の文字列

◆ seekToEnd()

int64 s3d::BinaryWriter::seekToEnd ( )

書き込み位置をファイルの終端に移動させます。

Returns
新しい書き込み位置(バイト)

◆ setPos()

bool s3d::BinaryWriter::setPos ( int64  pos)
overridevirtual

書き込み位置を変更します。

Parameters
pos新しい書き込み位置(バイト)
Returns
書き込み位置の変更に成功した場合 true, それ以外の場合は false

Implements s3d::IWriter.

◆ size()

int64 s3d::BinaryWriter::size ( ) const
overridevirtual

開いているファイルの現在のサイズ(バイト)を返します。

Returns
開いているファイルの現在のサイズ(バイト)

Implements s3d::IWriter.

◆ write() [1/2]

SIV3D_CONCEPT_TRIVIALLY_COPYABLE bool s3d::BinaryWriter::write ( const TriviallyCopyable &  src)

現在の書き込み位置にデータを書き込みます。

Template Parameters
TriviallyCopyable書き込む値の型
Parameters
src書き込むデータ
Remarks
書き込み位置がファイルの終端の場合、書き込んだ分だけファイルのサイズが拡張されます。
Returns
書き込みに成功した場合 true, それ以外の場合は false

◆ write() [2/2]

int64 s3d::BinaryWriter::write ( const void *  src,
int64  sizeBytes 
)
overridevirtual

現在の書き込み位置にデータを書き込みます。

Parameters
src書き込むデータ
sizeBytes書き込むサイズ(バイト)
Remarks
書き込み位置がファイルの終端の場合、書き込んだ分だけファイルのサイズが拡張されます。
Returns
実際に書き込んだサイズ(バイト)

Implements s3d::IWriter.


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