TNB Library
公開メンバ関数 | 全メンバ一覧
CSimpleVectorT< TYP > クラステンプレート

簡易配列型情報管理テンプレート [詳解]

#include <TnbSimpleVector.h>

+ CSimpleVectorT< TYP > の継承関係図

公開メンバ関数

INDEX Add (const TYP &t)
 [追加] 要素一つ追加. [詳解]
 
TYP & At (INDEX index)
 [取得] 要素の参照取得. [詳解]
 
const TYP & At (INDEX index) const
 [取得] 要素の参照取得. [詳解]
 
 CSimpleVectorT (const CSimpleVectorT &other)
 コピーコンストラクタ [詳解]
 
 CSimpleVectorT (size_t bufferSize)
 コンストラクタ [詳解]
 
 CSimpleVectorT (void)
 コンストラクタ [詳解]
 
INDEX Find (const TYP &t) const
 [検索] 検索. [詳解]
 
size_t GetSize (void) const
 [取得] サイズ取得 [詳解]
 
bool IsEmpty (void) const
 [確認] 要素の有無確認. [詳解]
 
bool IsInRange (INDEX index) const
 [確認] INDEXの有効確認. [詳解]
 
 operator size_t (void) const
 [取得] サイズ取得 [詳解]
 
CSimpleVectorToperator= (const CSimpleVectorT &other)
 [複製] コピーオペレータ [詳解]
 
TYP & operator[] (INDEX index)
 [取得] 要素の参照取得. [詳解]
 
const TYP & operator[] (INDEX index) const
 [取得] 要素の参照取得. [詳解]
 
TYP * ReferBuffer (void)
 [取得] バッファ取得 [詳解]
 
const TYP * ReferBuffer (void) const
 [取得] バッファ取得 [詳解]
 
bool Remove (INDEX index)
 [削除] 要素一つ削除. [詳解]
 
void RemoveAll (void)
 [削除] 空化 [詳解]
 
bool Set (INDEX index, const TYP &t)
 [設定] 要素の設定. [詳解]
 
void SetSize (size_t s)
 [設定] サイズ設定 [詳解]
 
virtual ~CSimpleVectorT (void)
 デストラクタ [詳解]
 

詳解

template<typename TYP>
class TNB::CSimpleVectorT< TYP >

簡易配列型情報管理テンプレート

型の配列(連続したメモリ配置)を管理します。
メモリを連続して配置しているため、他のAPIに配列として渡すのが容易です。

動的に配列を増やすことができます(メモリの再配置が発生する可能性があります)。
覚え書き
一度多く確保した要素は、SetSize() や Remove() で減らしても、確保されたままになります。 その際、その要素は破棄されない(デストラクタが動かない)ことに注意。 SetSize()RemoveAll() 、デストラクタで、全開放されます。
参照
CVectorT
引数
TYP保持する型(コピー可能の型に限る)
必要ファイル
TnbSimpleVector.h
日付
07/12/01 新規作成.
08/08/22 コピー系を追加.
09/04/22 イテレータを廃止.
09/08/28 SetSize() の速度改善。
09/10/27 Find() 追加。
10/03/03 IsEmpty() , operator size_t() 追加。
11/09/07 SetSize() の動作を改善
19/07/07 サイズ指定のコンストラクタ追加

TnbSimpleVector.h55 行目に定義があります。

構築子と解体子

◆ CSimpleVectorT() [1/3]

CSimpleVectorT ( void  )
explicit

コンストラクタ

TnbSimpleVector.h59 行目に定義があります。

◆ CSimpleVectorT() [2/3]

CSimpleVectorT ( size_t  bufferSize)
explicit

コンストラクタ

引数
bufferSizeバッファサイズ

TnbSimpleVector.h65 行目に定義があります。

◆ CSimpleVectorT() [3/3]

CSimpleVectorT ( const CSimpleVectorT< TYP > &  other)

コピーコンストラクタ

引数
otherコピー元。

TnbSimpleVector.h74 行目に定義があります。

◆ ~CSimpleVectorT()

virtual ~CSimpleVectorT ( void  )
virtual

デストラクタ

TnbSimpleVector.h80 行目に定義があります。

関数詳解

◆ Add()

INDEX Add ( const TYP &  t)

[追加] 要素一つ追加.

自インスタンスで管理しているバッファに指定の一データを連結します。

引数
t要素。
戻り値
INVALID_INDEX失敗。
上記以外追加したINDEX。

TnbSimpleVector.h258 行目に定義があります。

◆ At() [1/2]

TYP & At ( INDEX  index)

[取得] 要素の参照取得.

引数
indexインデックス
戻り値
参照。
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

TnbSimpleVector.h119 行目に定義があります。

◆ At() [2/2]

const TYP & At ( INDEX  index) const

[取得] 要素の参照取得.

引数
indexインデックス
戻り値
参照。
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

TnbSimpleVector.h107 行目に定義があります。

◆ Find()

INDEX Find ( const TYP &  t) const

[検索] 検索.

引数
t検索要素.
戻り値
INVALID_INDEX未発見.
上記以外発見。値は、インデックス。

TnbSimpleVector.h320 行目に定義があります。

◆ GetSize()

size_t GetSize ( void  ) const

[取得] サイズ取得

戻り値
本インスタンスが管理しているデータの長さ。

TnbSimpleVector.h189 行目に定義があります。

◆ IsEmpty()

bool IsEmpty ( void  ) const

[確認] 要素の有無確認.

覚え書き
GetSize()の戻り値が0か否かでチェックしています。
戻り値
true要素なし
false要素有り

TnbSimpleVector.h180 行目に定義があります。

◆ IsInRange()

bool IsInRange ( INDEX  index) const

[確認] INDEXの有効確認.

引数
indexインデックス
戻り値
true指定Indexは有効。
false指定Indexは無効(範囲外)。

TnbSimpleVector.h169 行目に定義があります。

◆ operator size_t()

operator size_t ( void  ) const

[取得] サイズ取得

戻り値
本インスタンスが管理しているデータの長さ。

TnbSimpleVector.h198 行目に定義があります。

◆ operator=()

CSimpleVectorT & operator= ( const CSimpleVectorT< TYP > &  other)

[複製] コピーオペレータ

引数
otherコピー元。
戻り値
自分の参照

TnbSimpleVector.h90 行目に定義があります。

◆ operator[]() [1/2]

TYP & operator[] ( INDEX  index)

[取得] 要素の参照取得.

引数
indexインデックス
戻り値
参照。操作するとオブジェクト内の要素に影響が有ります。
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

TnbSimpleVector.h143 行目に定義があります。

◆ operator[]() [2/2]

const TYP & operator[] ( INDEX  index) const

[取得] 要素の参照取得.

引数
indexインデックス
戻り値
参照。
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

TnbSimpleVector.h131 行目に定義があります。

◆ ReferBuffer() [1/2]

TYP * ReferBuffer ( void  )

[取得] バッファ取得

戻り値
本インスタンスが管理しているバッファアドレス。

TnbSimpleVector.h207 行目に定義があります。

◆ ReferBuffer() [2/2]

const TYP * ReferBuffer ( void  ) const

[取得] バッファ取得

戻り値
本インスタンスが管理しているバッファアドレス。

TnbSimpleVector.h216 行目に定義があります。

◆ Remove()

bool Remove ( INDEX  index)

[削除] 要素一つ削除.

引数
indexインデックス
戻り値
falseエラー。
true成功。

TnbSimpleVector.h285 行目に定義があります。

◆ RemoveAll()

void RemoveAll ( void  )

[削除] 空化

覚え書き
自インスタンスで管理しているバッファを空にします。

TnbSimpleVector.h303 行目に定義があります。

◆ Set()

bool Set ( INDEX  index,
const TYP &  t 
)

[設定] 要素の設定.

引数
indexインデックス
t内容
戻り値
true設定成功
false失敗

TnbSimpleVector.h156 行目に定義があります。

◆ SetSize()

void SetSize ( size_t  s)

[設定] サイズ設定

引数
sサイズ。

TnbSimpleVector.h225 行目に定義があります。