MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
MGL::ByteStream クラス

バイトデータストリームクラス [詳解]

#include <mgl_byte_stream.h>

公開型

enum class  ClearType : uint8_t { Zero , Random }
 バッファクリア時の動作タイプ [詳解]
 

公開メンバ関数

constexpr ByteStream () noexcept
 コンストラクタ
 
constexpr ByteStream (void *address, size_t size) noexcept
 コンストラクタ
 
constexpr ByteStream (const void *address, size_t size) noexcept
 コンストラクタ(読み込み専用)
 
void SetBuffer (void *address, size_t size) noexcept
 バッファの設定
 
void SetBuffer (const void *address, size_t size) noexcept
 バッファの設定(読み込み専用)
 
bool SetOffset (size_t offset) noexcept
 オフセットの設定
 
constexpr size_t GetOffset () const noexcept
 オフセットの取得
 
constexpr size_t GetSize () const noexcept
 バッファサイズの取得
 
bool Clear (ClearType clearType) noexcept
 データのクリア
 
constexpr void * GetCurrentPoint () const noexcept
 現在の先頭位置の取得
 
constexpr const void * GetCurrentConstPoint () const noexcept
 現在の先頭位置を取得(const版)
 
bool Read (void *dest, size_t size) noexcept
 読み込み
 
bool Write (const void *source, size_t size) noexcept
 書き込み
 
template<typename T >
constexpr bool Read (T &value) noexcept
 値の読み込み
 
template<typename T >
constexpr T Read () noexcept
 型を指定して値を読み込み
 
template<typename T >
constexpr bool Write (T value) noexcept
 値の書き込み
 
constexpr bool IsOverflowed () const noexcept
 オーバーフローしているかを返す
 
bool ReadBool (bool &flag) noexcept
 論理値の読み込み
 
bool ReadBool () noexcept
 論理値の読み込み
 
bool WriteBool (bool flag) noexcept
 論理値の書き込み
 
bool Fill (uint8_t value, size_t size) noexcept
 バッファを任意の値で埋める
 
bool Skip (size_t size) noexcept
 ストリームのスキップ
 

詳解

バイトデータストリームクラス

列挙型メンバ詳解

◆ ClearType

enum class MGL::ByteStream::ClearType : uint8_t
strong

バッファクリア時の動作タイプ

列挙値
Zero 

ゼロ初期化

Random 

ランダム初期化

構築子と解体子

◆ ByteStream() [1/2]

MGL::ByteStream::ByteStream ( void * address,
size_t size )
inlineconstexprnoexcept

コンストラクタ

引数
[in]address設定するバッファのアドレス
[in]sizeバッファのサイズ

◆ ByteStream() [2/2]

MGL::ByteStream::ByteStream ( const void * address,
size_t size )
inlineconstexprnoexcept

コンストラクタ(読み込み専用)

引数
[in]address設定するバッファのアドレス
[in]sizeバッファのサイズ

関数詳解

◆ Clear()

bool MGL::ByteStream::Clear ( ClearType clearType)
noexcept

データのクリア

引数
[in]clearType初期化方式
戻り値
true成功
false失敗

◆ Fill()

bool MGL::ByteStream::Fill ( uint8_t value,
size_t size )
noexcept

バッファを任意の値で埋める

引数
[in]value書き込む値
[in]size書き込みサイズ
戻り値
true成功
false失敗(サイズオーバー)

◆ GetCurrentConstPoint()

const void * MGL::ByteStream::GetCurrentConstPoint ( ) const
inlinenodiscardconstexprnoexcept

現在の先頭位置を取得(const版)

戻り値
現在の先頭位置のアドレス

◆ GetCurrentPoint()

void * MGL::ByteStream::GetCurrentPoint ( ) const
inlinenodiscardconstexprnoexcept

現在の先頭位置の取得

戻り値
現在の先頭位置のアドレス
覚え書き
バッファを読み込み専用に設定している場合はNULLが返る. その際は GetCurrentConstPoint を使用する.

◆ GetOffset()

size_t MGL::ByteStream::GetOffset ( ) const
inlinenodiscardconstexprnoexcept

オフセットの取得

戻り値
現在のオフセット

◆ GetSize()

size_t MGL::ByteStream::GetSize ( ) const
inlinenodiscardconstexprnoexcept

バッファサイズの取得

戻り値
バッファサイズ

◆ IsOverflowed()

bool MGL::ByteStream::IsOverflowed ( ) const
inlinenodiscardconstexprnoexcept

オーバーフローしているかを返す

戻り値
trueオーバーフローしている
falseオーバーフローしていない

◆ Read() [1/3]

template<typename T >
T MGL::ByteStream::Read ( )
inlineconstexprnoexcept

型を指定して値を読み込み

テンプレート引数
T読み込む型
覚え書き
valueの型のサイズ分だけストリームから読み込む. valueの型がsizeofで取得できる必要がある.

◆ Read() [2/3]

template<typename T >
bool MGL::ByteStream::Read ( T & value)
inlineconstexprnoexcept

値の読み込み

引数
[in]value読み込む値
覚え書き
valueの型のサイズ分だけストリームから読み込む. valueの型がsizeofで取得できる必要がある.

◆ Read() [3/3]

bool MGL::ByteStream::Read ( void * dest,
size_t size )
noexcept

読み込み

引数
[out]dest読み込む値の格納先
[in]size読み込みサイズ
戻り値
true成功
false失敗(サイズオーバー)

◆ ReadBool() [1/2]

bool MGL::ByteStream::ReadBool ( )
noexcept

論理値の読み込み

戻り値
読み込んだ論理値.読み込み失敗時はfalse

◆ ReadBool() [2/2]

bool MGL::ByteStream::ReadBool ( bool & flag)
noexcept

論理値の読み込み

引数
[out]flag読み込んだ論理値の格納先
戻り値
true成功
false失敗(サイズオーバー)

◆ SetBuffer() [1/2]

void MGL::ByteStream::SetBuffer ( const void * address,
size_t size )
noexcept

バッファの設定(読み込み専用)

引数
[in]address設定するバッファのアドレス
[in]sizeバッファのサイズ

◆ SetBuffer() [2/2]

void MGL::ByteStream::SetBuffer ( void * address,
size_t size )
noexcept

バッファの設定

引数
[in]address設定するバッファのアドレス
[in]sizeバッファのサイズ

◆ SetOffset()

bool MGL::ByteStream::SetOffset ( size_t offset)
noexcept

オフセットの設定

引数
[in]offsetオフセット
戻り値
true成功
false失敗(サイズオーバー)

◆ Skip()

bool MGL::ByteStream::Skip ( size_t size)
noexcept

ストリームのスキップ

引数
[in]sizeスキップするサイズ
戻り値
true成功
false失敗(サイズオーバー)

◆ Write() [1/2]

bool MGL::ByteStream::Write ( const void * source,
size_t size )
noexcept

書き込み

引数
[in]source書き込むデータの先頭アドレス
[in]size書き込むデータのサイズ
戻り値
true成功
false失敗(サイズオーバー)

◆ Write() [2/2]

template<typename T >
bool MGL::ByteStream::Write ( T value)
inlineconstexprnoexcept

値の書き込み

引数
[in]value書き込む値
覚え書き
valueの型のサイズ分だけストリームから読み込む. valueの型がsizeofで取得できる必要がある.

◆ WriteBool()

bool MGL::ByteStream::WriteBool ( bool flag)
noexcept

論理値の書き込み

引数
[in]flag書き込む論理値
戻り値
true成功
false失敗(サイズオーバー)

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