MGL(Win32)
|
動的2次元配列クラス [詳解]
#include <mgl_array_2d.h>
公開メンバ関数 | |
Array2D (Array2D &)=delete | |
Array2D & | operator= (Array2D &)=delete |
Array2D (Memory::ClearMode clearMode=Memory::ClearMode::Auto) noexcept | |
コンストラクタ | |
Array2D (IndexType width, IndexType height, Memory::ClearMode clearMode=Memory::ClearMode::Auto) noexcept | |
コンストラクタ | |
Array2D (IndexType width, IndexType height, const ValueType &invalidValue, Memory::ClearMode clearMode=Memory::ClearMode::Auto) noexcept | |
コンストラクタ | |
Array2D (IndexType width, IndexType height, ValueType &&invalidValue, Memory::ClearMode clearMode=Memory::ClearMode::Auto) noexcept | |
コンストラクタ | |
Array2D (Array2D &&rhs) noexcept | |
ムーブコンストラクタ | |
Array2D & | operator= (Array2D &&rhs) noexcept |
ムーブ代入 | |
~Array2D () noexcept | |
デストラクタ | |
bool | New (size_t width, size_t height, Memory::ClearMode clearMode=Memory::ClearMode::Auto) noexcept |
配列の生成 | |
bool | Renew (Memory::ClearMode clearMode=Memory::ClearMode::Auto) noexcept |
配列を同じサイズで構築し直す | |
constexpr void | Fill (const ValueType &value) noexcept |
全ての要素を指定値で書き込む | |
constexpr const ValueType & | Get (IndexType x, IndexType y) const noexcept |
要素の取得 | |
const ValueType & | Get (const std::pair< IndexType, IndexType > &pair) const noexcept |
要素の取得 | |
const ValueType & | operator[] (const std::pair< IndexType, IndexType > &pair) const noexcept |
添字演算子による要素の取得 | |
constexpr ValueType * | GetPtr (IndexType x, IndexType y) const noexcept |
書き込み可能な要素へのポインタを取得 | |
constexpr ValueType * | GetPtr (const std::pair< IndexType, IndexType > &pair) const noexcept |
書き込み可能な要素へのポインタを取得 | |
template<class LoopBody > | |
constexpr void | ForEach (LoopBody body) noexcept |
全ての要素へのアクセス | |
template<class LoopBody > | |
constexpr void | ForEach (LoopBody body) const noexcept |
全ての要素へ読み取り専用でアクセス | |
template<class LoopBody > | |
constexpr void | ForRange (IndexType beginX, IndexType beginY, IndexType endX, IndexType endY, LoopBody body) noexcept |
範囲を指定して要素にアクセス | |
template<class LoopBody > | |
constexpr void | ForRange (const std::pair< IndexType, IndexType > &begin, const std::pair< IndexType, IndexType > &end, LoopBody body) noexcept |
範囲を指定して要素にアクセス | |
template<class LoopBody > | |
constexpr void | ForRange (IndexType beginX, IndexType beginY, IndexType endX, IndexType endY, LoopBody body) const noexcept |
範囲を指定して読み取り専用で要素にアクセス | |
template<class LoopBody > | |
constexpr void | ForRange (const std::pair< IndexType, IndexType > &begin, const std::pair< IndexType, IndexType > &end, LoopBody body) const noexcept |
範囲を指定して読み取り専用で要素にアクセス | |
constexpr bool | Contains (const ValueType &element) const noexcept |
指定した要素が範囲内に含まれているかを取得 | |
constexpr bool | Contains (const ValueType *element) const noexcept |
指定した要素が範囲内に含まれているかを取得 | |
constexpr void | SetInvalidValue (const ValueType &value) noexcept |
無効値の設定 | |
constexpr void | SetInvalidValue (ValueType &&value) noexcept |
無効値の設定 | |
constexpr IndexType | GetWidth () const noexcept |
配列のX方向の最大値を取得 | |
constexpr IndexType | GetHeight () const noexcept |
配列のY方向の最大値を取得 | |
constexpr size_t | GetArraySize () const noexcept |
配列全体のサイズを取得 | |
constexpr ValueType * | begin () const noexcept |
先頭の要素を取得 | |
constexpr ValueType * | end () const noexcept |
末尾の要素を取得 | |
constexpr const ValueType * | cbegin () const noexcept |
先頭の要素をconstで取得 | |
constexpr const ValueType * | cend () const noexcept |
末尾の要素をconstで取得 | |
静的公開メンバ関数 | |
static constexpr std::pair< IndexType, IndexType > | MakePair (IndexType x, IndexType y) noexcept |
ペアの生成 | |
動的2次元配列クラス
ValueType | 配列が扱う型 |
|
inlinenoexcept |
コンストラクタ
[in] | clearMode | メモリ領域の初期化方法 |
|
inlinenoexcept |
コンストラクタ
[in] | width | X方向の最大値 |
[in] | height | Y方向の最大値 |
[in] | clearMode | メモリ領域の初期化方法 |
|
inlinenoexcept |
コンストラクタ
[in] | width | X方向の最大値 |
[in] | height | Y方向の最大値 |
[in] | invalidValue | 無効値として設定する値 |
[in] | clearMode | メモリ領域の初期化方法 |
|
inlinenoexcept |
コンストラクタ
[in] | width | X方向の最大値 |
[in] | height | Y方向の最大値 |
[in] | invalidValue | 無効値として設定する値(右辺値参照) |
[in] | clearMode | メモリ領域の初期化方法 |
|
inlinenoexcept |
ムーブコンストラクタ
[in] | rhs | 右辺値 |
|
inlinenodiscardconstexprnoexcept |
先頭の要素を取得
|
inlinenodiscardconstexprnoexcept |
先頭の要素をconstで取得
|
inlinenodiscardconstexprnoexcept |
末尾の要素をconstで取得
|
inlinenodiscardconstexprnoexcept |
指定した要素が範囲内に含まれているかを取得
[in] | element | チェックする要素の参照 |
true | 範囲内に含まれている要素である |
false | 範囲内の要素ではない |
|
inlinenodiscardconstexprnoexcept |
指定した要素が範囲内に含まれているかを取得
[in] | element | チェックする要素のポインタ |
true | 範囲内に含まれている要素である |
false | 範囲内の要素ではない |
|
inlinenodiscardconstexprnoexcept |
末尾の要素を取得
|
inlineconstexprnoexcept |
全ての要素を指定値で書き込む
[in] | value | 書き込む値 |
|
inlineconstexprnoexcept |
全ての要素へ読み取り専用でアクセス
LoopBody | 要素にアクセスするための関数オブジェクトの型 |
[in] | body | 要素にアクセスするための関数オブジェクト |
|
inlineconstexprnoexcept |
全ての要素へのアクセス
LoopBody | 要素にアクセスするための関数オブジェクトの型 |
[in] | body | 要素にアクセスするための関数オブジェクト |
|
inlineconstexprnoexcept |
範囲を指定して読み取り専用で要素にアクセス
LoopBody | 要素にアクセスするための関数オブジェクトの型 |
[in] | begin | 開始位置のXとYのペア |
[in] | end | 終了位置のXとYのペア |
[in] | body | 要素にアクセスするための関数オブジェクト |
|
inlineconstexprnoexcept |
範囲を指定して要素にアクセス
LoopBody | 要素にアクセスするための関数オブジェクトの型 |
[in] | begin | 開始位置のXとYのペア |
[in] | end | 終了位置のXとYのペア |
[in] | body | 要素にアクセスするための関数オブジェクト |
|
inlineconstexprnoexcept |
範囲を指定して読み取り専用で要素にアクセス
LoopBody | 要素にアクセスするための関数オブジェクトの型 |
[in] | beginX | X座標の開始位置 |
[in] | beginY | Y座標の開始位置 |
[in] | endX | X座標の終了位置 |
[in] | endY | Y座標の終了位置 |
[in] | body | 要素にアクセスするための関数オブジェクト |
|
inlineconstexprnoexcept |
範囲を指定して要素にアクセス
LoopBody | 要素にアクセスするための関数オブジェクトの型 |
[in] | beginX | X座標の開始位置 |
[in] | beginY | Y座標の開始位置 |
[in] | endX | X座標の終了位置 |
[in] | endY | Y座標の終了位置 |
[in] | body | 要素にアクセスするための関数オブジェクト |
|
inlinenodiscardnoexcept |
要素の取得
[in] | pair | IndexType型のXとYのペア |
|
inlinenodiscardconstexprnoexcept |
要素の取得
[in] | x | 取得する要素のX座標 |
[in] | y | 取得する要素のY座標 |
|
inlinenodiscardconstexprnoexcept |
配列全体のサイズを取得
|
inlinenodiscardconstexprnoexcept |
配列のY方向の最大値を取得
|
inlinenodiscardconstexprnoexcept |
書き込み可能な要素へのポインタを取得
[in] | pair | IndexType型のXとYのペア |
|
inlinenodiscardconstexprnoexcept |
書き込み可能な要素へのポインタを取得
[in] | x | 取得する要素のX座標 |
[in] | y | 取得する要素のY座標 |
|
inlinenodiscardconstexprnoexcept |
配列のX方向の最大値を取得
|
inlinestaticnodiscardconstexprnoexcept |
ペアの生成
[in] | x | X座標 |
[in] | y | Y座標 |
|
inlinenoexcept |
配列の生成
[in] | width | 配列の幅 |
[in] | height | 配列の高さ |
[in] | clearMode | メモリ領域の初期化方法 |
true | 成功 |
false | 失敗 |
|
inlinenoexcept |
ムーブ代入
[in] | rhs | 右辺値 |
|
inlinenodiscardnoexcept |
添字演算子による要素の取得
[in] | pair | IndexType型のXとYのペア |
|
inlinenoexcept |
配列を同じサイズで構築し直す
[in] | clearMode | メモリ領域の初期化方法 |
true | 成功 |
false | 失敗 |
|
inlineconstexprnoexcept |
無効値の設定
[in] | value | 設定する値 |
|
inlineconstexprnoexcept |
無効値の設定
[in] | value | 設定する値(右辺値参照) |