TNB Library
公開型 | 公開メンバ関数 | 全メンバ一覧
CFigurePointerT< T, TR > クラステンプレート

図形管理計算クラス [詳解]

#include <TnbFigurePointer.h>

+ CFigurePointerT< T, TR > の継承関係図

公開型

typedef TNB::CPairT< T, T > CPointer
 座標管理型
first = x座標
second = y座標 [詳解]
 

公開メンバ関数

virtual INDEX Add (const CPointer &t)
 [追加] 要素一つ追加. [詳解]
 
INDEX Add (const T &x, const T &y)
 [追加] 要素一つ追加. [詳解]
 
virtual size_t AddElements (size_t size, const TNB::CPairT< T, T > *P=NULL)
 [追加] 複数要素追加. [詳解]
 
INDEX AddEx (const CPointer &t)
 [追加] 要素一つ追加. [詳解]
 
INDEX AddEx (const T &x, const T &y)
 [追加] 要素一つ追加. [詳解]
 
virtual size_t Append (const IConstCollectionT< TNB::CPairT< T, T > > &c)
 [追加] 追加. [詳解]
 
virtual const TNB::CPairT< T, T > & At (INDEX index) const
 [取得] 要素の参照取得. [詳解]
 
iterator begin (void)
 [反復] 先頭iterator. [詳解]
 
const_iterator begin (void) const
 [反復] 先頭const_iterator. [詳解]
 
TR CalcArea (void) const
 [計算] 範囲内面積計算. [詳解]
 
CalcDistance (bool boIsLoop=false) const
 [計算] 総距離計算. [詳解]
 
 CFigurePointerT (void)
 コンストラクタ [詳解]
 
virtual INT_PTR Compare (const IConstCollectionT< TNB::CPairT< T, T > > &c) const
 [確認] 比較. [詳解]
 
virtual size_t Copy (const IConstCollectionT< TNB::CPairT< T, T > > &c)
 [設定] コピー. [詳解]
 
virtual size_t CopyElements (size_t size, const TNB::CPairT< T, T > *P=NULL)
 [設定] コピー. [詳解]
 
virtual size_t Cull (const IChecker &checker, bool boIsReverse=false)
 [削除] 間引き. [詳解]
 
virtual void Deserialize (const IDeserializer &ds)
 [処理] デシリアライズ [詳解]
 
iterator end (void)
 [反復] 最後iterator. [詳解]
 
const_iterator end (void) const
 [反復] 最後const_iterator. [詳解]
 
iterator erase (iterator ite)
 [反復] 削除 [詳解]
 
INDEX Find (const IChecker &checker, INDEX startIndex=0, bool boIsReverse=false) const
 [検索] 条件一致要素の検索. [詳解]
 
INDEX Find (const IConstCollectionT< TNB::CPairT< T, T > > &t, const IComparatorT< TNB::CPairT< T, T > > &comparator, INDEX startIndex=0) const
 [検索] 指定配列の検索. [詳解]
 
INDEX Find (const IConstCollectionT< TNB::CPairT< T, T > > &t, INDEX startIndex=0) const
 [検索] 指定配列の検索. [詳解]
 
INDEX Find (const TNB::CPairT< T, T > &t, const IComparatorT< TNB::CPairT< T, T > > &comparator, INDEX startIndex=0) const
 [検索] 指定要素の検索. [詳解]
 
INDEX Find (const TNB::CPairT< T, T > &t, INDEX startIndex=0) const
 [検索] 指定要素の検索. [詳解]
 
INDEX FindMax (const IComparatorT< TNB::CPairT< T, T > > &comparator, const TNB::CPairT< T, T > &def) const
 [検索] 要素の最大検索. [詳解]
 
INDEX FindMax (const TNB::CPairT< T, T > &def) const
 [検索] 要素の最大検索. [詳解]
 
INDEX FindMin (const IComparatorT< TNB::CPairT< T, T > > &comparator, const TNB::CPairT< T, T > &def) const
 [検索] 要素の最小検索. [詳解]
 
INDEX FindMin (const TNB::CPairT< T, T > &def) const
 [検索] 要素の最小検索. [詳解]
 
int FindTop (void) const
 [検索] 外接する四角形作成 オブジェクトに外接する四角形の座標を取得します。 [詳解]
 
virtual TNB::CPairT< T, T > Get (INDEX index) const
 [取得] 要素の取得. [詳解]
 
TNB::CPairT< T, T > * GetBuffer (size_t size=0)
 [操作] データアドレス取得 [詳解]
 
virtual size_t GetElements (size_t size, TNB::CPairT< T, T > *_P, INDEX offset=0) const
 [取得] 複数要素取り出し. [詳解]
 
TNB::CPairT< T, T > GetEx (INDEX index) const
 [取得] 要素の取得. [詳解]
 
int GetReferCount (void)
 [取得] 参照数取得 [詳解]
 
virtual size_t GetSize (void) const
 [取得] サイズ取得 [詳解]
 
virtual bool Insert (INDEX index, const TNB::CPairT< T, T > &t)
 [追加] 要素一つ挿入 [詳解]
 
iterator insert (iterator ite, const TNB::CPairT< T, T > &t=TNB::CPairT< T, T >())
 [反復] 挿入 [詳解]
 
virtual bool InsertEx (INDEX index, const TNB::CPairT< T, T > &t)
 [追加] 要素一つ挿入. [詳解]
 
void Invalid (void)
 [操作] 無効状態にする [詳解]
 
bool IsEmpty (void) const
 [確認] 要素の有無確認. [詳解]
 
virtual bool IsEqual (const IConstCollectionT< TNB::CPairT< T, T > > &c) const
 [確認] 比較. [詳解]
 
bool IsInRange (INDEX index) const
 [確認] INDEXの有効確認. [詳解]
 
bool IsValid (void) const
 [確認] 有効チェック [詳解]
 
virtual bool Lock (DWORD dwTime=INFINITE) const
 [排他] ロック [詳解]
 
CVectorT< TNB::CPairT< T, T > > Mid (INDEX startIndex, size_t size=0) const
 [作成] 切り出し [詳解]
 
 operator size_t (void) const
 [取得] 要素数取得. [詳解]
 
bool operator!= (const TNB::IConstCollectionT< TNB::CPairT< T, T > > &t) const
 [確認] 比較 [詳解]
 
CVectorT< TNB::CPairT< T, T > > operator+ (const CVectorT< TNB::CPairT< T, T > > &other) const
 [作成] 連結 [詳解]
 
CVectorToperator+= (const CVectorT< TNB::CPairT< T, T > > &vector)
 [追加] 追加オペレータ [詳解]
 
INT_PTR operator- (const TNB::IConstCollectionT< TNB::CPairT< T, T > > &t) const
 [確認] 比較 [詳解]
 
bool operator< (const TNB::IConstCollectionT< TNB::CPairT< T, T > > &t) const
 [確認] 比較 [詳解]
 
bool operator<= (const TNB::IConstCollectionT< TNB::CPairT< T, T > > &t) const
 [確認] 比較 [詳解]
 
bool operator== (const TNB::IConstCollectionT< TNB::CPairT< T, T > > &t) const
 [確認] 比較 [詳解]
 
bool operator> (const TNB::IConstCollectionT< TNB::CPairT< T, T > > &t) const
 [確認] 比較 [詳解]
 
bool operator>= (const TNB::IConstCollectionT< TNB::CPairT< T, T > > &t) const
 [確認] 比較 [詳解]
 
TNB::CPairT< T, T > & operator[] (INDEX index)
 [取得] 要素の参照取得. [詳解]
 
const TNB::CPairT< T, T > & operator[] (INDEX index) const
 [取得] 要素の参照取得. [詳解]
 
void push_back (const TNB::CPairT< T, T > &t)
 [反復] 最後に追加 [詳解]
 
void push_front (const TNB::CPairT< T, T > &t)
 [反復] 先頭に挿入 [詳解]
 
virtual TNB::CPairT< T, T > & Ref (INDEX index)
 [取得] 要素の参照取得. [詳解]
 
virtual const TNB::CPairT< T, T > * ReferBuffer (void) const
 [取得] データアドレス取得 [詳解]
 
void ReleaseBuffer (void)
 [操作] データの管理を元に戻す. [詳解]
 
virtual bool Remove (INDEX index)
 [削除] 要素一つ削除. [詳解]
 
virtual bool RemoveAll (void)
 [削除] 空化 [詳解]
 
virtual size_t RemoveElements (INDEX index, size_t size=0)
 [削除] 要素削除. [詳解]
 
bool RemoveEx (INDEX index)
 [削除] 要素一つ削除. [詳解]
 
virtual void Serialize (ISerializer &_sr) const
 [処理] シリアライズ [詳解]
 
virtual bool Set (INDEX index, const TNB::CPairT< T, T > &t)
 [設定] 要素の設定. [詳解]
 
virtual size_t SetElements (size_t size, const TNB::CPairT< T, T > *P=NULL)
 [設定] 複数要素設定. [詳解]
 
bool SetEx (INDEX index, const TNB::CPairT< T, T > &t)
 [設定] 要素の設定. [詳解]
 
void SetIncrementSize (size_t size)
 [設定] 余白サイズ [詳解]
 
virtual bool SetSize (size_t size)
 [操作] サイズ指定 [詳解]
 
bool Shuffle (int iDepth=1)
 [操作] シャッフル. [詳解]
 
bool Sort (bool boIsReverse=false, bool boIsBubble=false)
 [操作] ソート. [詳解]
 
bool Sort (const IComparatorT< TNB::CPairT< T, T > > &comparator, bool boIsReverse=false, bool boIsBubble=false)
 [操作] ソート. [詳解]
 
virtual void Swap (INDEX index1, INDEX index2)
 [設定] 要素の入れ替え. [詳解]
 
size_t TrimBottom (const TNB::CPairT< T, T > &t)
 [処理] 末尾トリム. [詳解]
 
size_t TrimBottom (const TNB::CPairT< T, T > &t, const IComparatorT< TNB::CPairT< T, T > > &comparator)
 [処理] 末尾トリム. [詳解]
 
virtual void Unlock (void) const
 [排他] アンロック [詳解]
 
X (INDEX index) const
 [取得] X座標の取得. [詳解]
 
Y (INDEX index) const
 [取得] Y座標の取得. [詳解]
 

詳解

template<typename T, typename TR = T>
class TNB::CFigurePointerT< T, TR >

図形管理計算クラス

todo:
未完成。

連続した座標を持ち、図形を表します。

引数
T長さを管理する型。
TR面積を管理する型。省略すると T が指定されます。
覚え書き
通常、 T は double か CValueDistance を想定しています。 T が CValueDistance の場合、 TR は CValueArea を想定しています。
CVectorT の TYP は CPairT<T, T> になります。
必要ファイル
TnbFigurePointer.h
日付
07/01/23 新規作成
07/03/15 index,size管理を unsignedに変更。

TnbFigurePointer.h44 行目に定義があります。

型定義メンバ詳解

◆ CPointer

typedef TNB::CPairT<T,T> CPointer

座標管理型
first = x座標
second = y座標

TnbFigurePointer.h62 行目に定義があります。

構築子と解体子

◆ CFigurePointerT()

CFigurePointerT ( void  )

コンストラクタ

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

関数詳解

◆ Add() [1/2]

virtual INDEX Add ( const CPointer t)
virtual

[追加] 要素一つ追加.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 AddEx() を使用してください。
引数
t要素。
戻り値
INVALID_INDEX失敗。
上記以外追加したINDEX。

CVectorT< TNB::CPairT< T, T > >を再実装しています。

TnbFigurePointer.h77 行目に定義があります。

◆ Add() [2/2]

INDEX Add ( const T &  x,
const T &  y 
)

[追加] 要素一つ追加.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 AddEx() を使用してください。
引数
xx座標。
yy座標。
戻り値
INVALID_INDEX失敗。
上記以外追加したINDEX。

TnbFigurePointer.h91 行目に定義があります。

◆ AddElements()

virtual size_t AddElements ( size_t  size,
const TNB::CPairT< T, T > *  P = NULL 
)
virtualinherited

[追加] 複数要素追加.

最後に追加します。

引数
size追加するデータ長。
P追加するデータ。省略すると TYP()が代入されます。
戻り値
INVALID_SIZEエラー。
戻り値
それ以外 追加した数。

ICollectionT< TNB::CPairT< T, T > >を再実装しています。

TnbVector.h456 行目に定義があります。

◆ AddEx() [1/2]

INDEX AddEx ( const CPointer t)

[追加] 要素一つ追加.

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

TnbFigurePointer.h102 行目に定義があります。

◆ AddEx() [2/2]

INDEX AddEx ( const T &  x,
const T &  y 
)

[追加] 要素一つ追加.

引数
xx座標。
yy座標。
戻り値
INVALID_INDEX失敗。
上記以外追加したINDEX。

TnbFigurePointer.h114 行目に定義があります。

◆ Append()

virtual size_t Append ( const IConstCollectionT< TNB::CPairT< T, T > > &  c)
virtualinherited

[追加] 追加.

指定のデータを追加します。

覚え書き
追加元データの範囲を限定したい場合、元データに CConstOffsetAdapterT を使用します。
引数
c追加するデータ
戻り値
INVALID_SIZEエラー。
それ以外追加した数。

ICollectionT< TNB::CPairT< T, T > >を再実装しています。

TnbVector.h545 行目に定義があります。

◆ At()

virtual const TNB::CPairT< T, T > & At ( INDEX  index) const
virtualinherited

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

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 Lock() / Unlock() を使用してください。
引数
indexインデックス
戻り値
参照。
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

IConstCollectionT< TNB::CPairT< T, T > >を実装しています。

TnbVector.h233 行目に定義があります。

◆ begin() [1/2]

iterator begin ( void  )
inherited

[反復] 先頭iterator.

先頭要素を指す反復子を取得

戻り値
iterator

TnbVector.h105 行目に定義があります。

◆ begin() [2/2]

const_iterator begin ( void  ) const
inherited

[反復] 先頭const_iterator.

先頭要素を指す反復子を取得

戻り値
const_iterator

TnbVector.h91 行目に定義があります。

◆ CalcArea()

TR CalcArea ( void  ) const

[計算] 範囲内面積計算.

登録された座標のTopとBottomをつないで囲んだ面積を計算します。

戻り値
面積(TR)

TnbFigurePointer.h167 行目に定義があります。

◆ CalcDistance()

T CalcDistance ( bool  boIsLoop = false) const

[計算] 総距離計算.

登録された座標をつないだ距離を計算します。

引数
boIsLooptrue を指定すると最初と最後をつないだ距離を計算します。
戻り値
距離

TnbFigurePointer.h200 行目に定義があります。

◆ Compare()

virtual INT_PTR Compare ( const IConstCollectionT< TNB::CPairT< T, T > > &  c) const
virtualinherited

[確認] 比較.

コンパレータ( IComparatorT のサブクラス)を使用して、全要素を比較します。

引数
c比較対象
戻り値
自分は c と同じ
1以上自分は c より大きい
0未満自分は c より小さい

IComparableT< TNB::IConstCollectionT< TNB::CPairT< T, T > > >を実装しています。

TnbCollection.h595 行目に定義があります。

◆ Copy()

virtual size_t Copy ( const IConstCollectionT< TNB::CPairT< T, T > > &  c)
virtualinherited

[設定] コピー.

管理しているバッファを開放し、指定のデータをコピーします。

覚え書き
コピー元の範囲を限定したい場合、元データに CConstOffsetAdapterT を使用します。
一度別メモリにコピーしています。そのため、同じオブジェクトでも対応可能です。
引数
cコピーするデータ
戻り値
INVALID_SIZEエラー。
それ以外複製した数。

TnbCollection.h1263 行目に定義があります。

◆ CopyElements()

virtual size_t CopyElements ( size_t  size,
const TNB::CPairT< T, T > *  P = NULL 
)
virtualinherited

[設定] コピー.

管理しているバッファを開放し、指定のデータをコピーします。

覚え書き
廃止予定です。 SetElements() を使用してください。
引数
sizeデータ長。
Pコピーする内容を指定。省略すると TYP()が代入されます。
戻り値
INVALID_SIZEエラー。
それ以外複製した数。

TnbCollection.h1232 行目に定義があります。

◆ Cull()

virtual size_t Cull ( const IChecker &  checker,
bool  boIsReverse = false 
)
virtualinherited

[削除] 間引き.

指定の条件に合わないもの(チェッカーの結果により)を削除します。

引数
checkerチェッカー
boIsReverse省略すると条件に一致を残します。 trueを指定すると条件不一致を残します。
戻り値
INVALID_SIZEエラー。
それ以外削除した数。

TnbCollection.h1290 行目に定義があります。

◆ Deserialize()

virtual void Deserialize ( const IDeserializer ds)
virtualinherited

[処理] デシリアライズ

引数
dsデシリアライザー。これからメンバの内容を取り出してください。
例外
CTnbException失敗時は、任意のスローの可能性があります。

IConstCollectionT< TNB::CPairT< T, T > >を再実装しています。

TnbCollection.h1355 行目に定義があります。

◆ end() [1/2]

iterator end ( void  )
inherited

[反復] 最後iterator.

最後要素の次を指す反復子を取得

戻り値
iterator

TnbVector.h112 行目に定義があります。

◆ end() [2/2]

const_iterator end ( void  ) const
inherited

[反復] 最後const_iterator.

最後要素の次を指す反復子を取得

戻り値
const_iterator

TnbVector.h98 行目に定義があります。

◆ erase()

iterator erase ( iterator  ite)
inherited

[反復] 削除

引数
ite削除する位置の iterator
戻り値
削除した次の iterator

TnbVector.h132 行目に定義があります。

◆ Find() [1/5]

INDEX Find ( const IChecker &  checker,
INDEX  startIndex = 0,
bool  boIsReverse = false 
) const
inherited

[検索] 条件一致要素の検索.

チェッカー( IChecker のサブクラス)を使用して、検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
checkerチェッカー
startIndex検索開始インデックス。
boIsReverse省略すると条件に一致を探します。 trueを指定すると条件不一致を探します。
戻り値
INVALID_INDEX未発見
それ以外発見したインデックス

TnbCollection.h400 行目に定義があります。

◆ Find() [2/5]

INDEX Find ( const IConstCollectionT< TNB::CPairT< T, T > > &  t,
const IComparatorT< TNB::CPairT< T, T > > &  comparator,
INDEX  startIndex = 0 
) const
inherited

[検索] 指定配列の検索.

コンパレータ( IComparatorT のサブクラス)を使用して、検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
t配列
comparatorコンパレーター
startIndex検索開始インデックス。
戻り値
INVALID_INDEX未発見
それ以外発見したインデックス

TnbCollection.h427 行目に定義があります。

◆ Find() [3/5]

INDEX Find ( const IConstCollectionT< TNB::CPairT< T, T > > &  t,
INDEX  startIndex = 0 
) const
inherited

[検索] 指定配列の検索.

IComparatorT::GetDefault() で得られるコンパレータを使用して検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
t配列
startIndex検索開始インデックス。
戻り値
INVALID_INDEX未発見
それ以外発見したインデックス

TnbCollection.h467 行目に定義があります。

◆ Find() [4/5]

INDEX Find ( const TNB::CPairT< T, T > &  t,
const IComparatorT< TNB::CPairT< T, T > > &  comparator,
INDEX  startIndex = 0 
) const
inherited

[検索] 指定要素の検索.

コンパレータ( IComparatorT のサブクラス)を使用して、検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
t要素
comparatorコンパレーター
startIndex検索開始インデックス。
戻り値
INVALID_INDEX未発見
それ以外発見したインデックス

TnbCollection.h482 行目に定義があります。

◆ Find() [5/5]

INDEX Find ( const TNB::CPairT< T, T > &  t,
INDEX  startIndex = 0 
) const
inherited

[検索] 指定要素の検索.

IComparatorT::GetDefault() で得られるコンパレータを使用して検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
t要素
startIndex検索開始インデックス。
戻り値
INVALID_INDEX未発見
それ以外発見したインデックス

TnbCollection.h508 行目に定義があります。

◆ FindMax() [1/2]

INDEX FindMax ( const IComparatorT< TNB::CPairT< T, T > > &  comparator,
const TNB::CPairT< T, T > &  def 
) const
inherited

[検索] 要素の最大検索.

コンパレータ( IComparatorT のサブクラス)を使用して、比較検索します。

引数
comparatorコンパレーター
def最小値(初期値)
戻り値
INVALID_INDEX未発見
それ以外最大を持つインデックス

TnbCollection.h521 行目に定義があります。

◆ FindMax() [2/2]

INDEX FindMax ( const TNB::CPairT< T, T > &  def) const
inherited

[検索] 要素の最大検索.

IComparatorT::GetDefault() で得られるコンパレータを使用して比較検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
def最小値(初期値)
戻り値
INVALID_INDEX未発見
それ以外最大を持つインデックス

TnbCollection.h545 行目に定義があります。

◆ FindMin() [1/2]

INDEX FindMin ( const IComparatorT< TNB::CPairT< T, T > > &  comparator,
const TNB::CPairT< T, T > &  def 
) const
inherited

[検索] 要素の最小検索.

コンパレータ( IComparatorT のサブクラス)を使用して、比較検索します。

引数
comparatorコンパレーター
def最大値(初期値)
戻り値
INVALID_INDEX未発見
それ以外最小を持つインデックス

TnbCollection.h558 行目に定義があります。

◆ FindMin() [2/2]

INDEX FindMin ( const TNB::CPairT< T, T > &  def) const
inherited

[検索] 要素の最小検索.

IComparatorT::GetDefault() で得られるコンパレータを使用して比較検索します。

覚え書き
範囲を限定したい場合、 CConstOffsetAdapterT を使用します。
引数
def最大値(初期値)
戻り値
INVALID_INDEX未発見
それ以外最小を持つインデックス

TnbCollection.h582 行目に定義があります。

◆ FindTop()

int FindTop ( void  ) const

[検索] 外接する四角形作成 オブジェクトに外接する四角形の座標を取得します。

戻り値
Y最小のIndex

TnbFigurePointer.h146 行目に定義があります。

◆ Get()

virtual TNB::CPairT< T, T > Get ( INDEX  index) const
virtualinherited

[取得] 要素の取得.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 GetEx() を使用してください。
引数
indexインデックス
戻り値
要素の複製
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

IConstCollectionT< TNB::CPairT< T, T > >を再実装しています。

TnbVector.h220 行目に定義があります。

◆ GetBuffer()

TNB::CPairT< T, T > * GetBuffer ( size_t  size = 0)
inherited

[操作] データアドレス取得

この関数で取得したデータの内容は自由に書き換えてかまいません。もちろん
確保したサイズ以上はアクセスしてはいけません。

取得したアドレスは delete で開放してはいけません。

データの書き換えが終わったら ReleaseBuffer() を実行してください。
覚え書き
この関数を行った後でも以前と変わらぬ使い方が出来ます。ただし、複製の際 GetBuffer() 実行後 ReleaseBuffer() を実装するまで、Cloneを作成するように なります。
参照だけであるなら ReferBuffer() を使用してください。高速です。
GetBuffer() 実行後、 ReleaseBuffer() するまでクラスに対する操作は 禁止です(取得したアドレスが無効になる可能性があるため)。
この関数では他と共用していたメモリを独自に確保しなおしています。 他のバッファとは分離されることに注意してください。
引数
size確保するバッファサイズ。省略すると、変化せずアドレスを返します。
戻り値
アドレス データがない場合NULLがかえります。

TnbVector.h745 行目に定義があります。

◆ GetElements()

virtual size_t GetElements ( size_t  size,
TNB::CPairT< T, T > *  _P,
INDEX  offset = 0 
) const
virtualinherited

[取得] 複数要素取り出し.

引数
[in]size取り出すデータの数。
[out]_Pコピーするポインタ。size 分の領域がある必要があります。
[in]offset取り出し開始のインデックス。省略すると0。
戻り値
コピーした数

TnbCollection.h322 行目に定義があります。

◆ GetEx()

TNB::CPairT< T, T > GetEx ( INDEX  index) const
inherited

[取得] 要素の取得.

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

TnbCollection.h309 行目に定義があります。

◆ GetReferCount()

int GetReferCount ( void  )
inherited

[取得] 参照数取得

覚え書き
管理しているデータが他から参照されているか調べることが出来ます。
戻り値
参照数

TnbVector.h675 行目に定義があります。

◆ GetSize()

virtual size_t GetSize ( void  ) const
virtualinherited

[取得] サイズ取得

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

ISequenceCollectionT< TNB::CPairT< T, T > >を実装しています。

TnbVector.h368 行目に定義があります。

◆ Insert()

virtual bool Insert ( INDEX  index,
const TNB::CPairT< T, T > &  t 
)
virtualinherited

[追加] 要素一つ挿入

覚え書き
指定のインデックスに要素を追加します。
引数
indexインデックス
t要素
戻り値
true挿入成功
false失敗(インデックス無効)

ICollectionT< TNB::CPairT< T, T > >を再実装しています。

TnbVector.h579 行目に定義があります。

◆ insert()

iterator insert ( iterator  ite,
const TNB::CPairT< T, T > &  t = TYP() 
)
inherited

[反復] 挿入

引数
ite挿入する位置の iterator
t要素
戻り値
挿入した場所の iterator

TnbVector.h120 行目に定義があります。

◆ InsertEx()

virtual bool InsertEx ( INDEX  index,
const TNB::CPairT< T, T > &  t 
)
virtualinherited

[追加] 要素一つ挿入.

指定のインデックスに要素を追加します。

引数
indexインデックス
t要素
戻り値
true挿入成功
false失敗(インデックス無効)

TnbCollection.h1077 行目に定義があります。

◆ Invalid()

void Invalid ( void  )
inherited

[操作] 無効状態にする

覚え書き
状態としてはRemoveAllと同じ。

TnbVector.h604 行目に定義があります。

◆ IsEmpty()

bool IsEmpty ( void  ) const
inherited

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

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

TnbCollection.h346 行目に定義があります。

◆ IsEqual()

virtual bool IsEqual ( const IConstCollectionT< TNB::CPairT< T, T > > &  c) const
virtualinherited

[確認] 比較.

コンパレータ( IComparatorT のサブクラス)を使用して、全要素を比較します。

引数
c比較対象
戻り値
true自分は c と同じ
false自分は c と異なる

IComparableT< TNB::IConstCollectionT< TNB::CPairT< T, T > > >を再実装しています。

TnbCollection.h624 行目に定義があります。

◆ IsInRange()

bool IsInRange ( INDEX  index) const
inherited

[確認] INDEXの有効確認.

覚え書き
GetSize()の戻り値を使用してチェックしています。
引数
indexインデックス
戻り値
true指定Indexは有効。
false指定Indexは無効(範囲外)。

TnbCollection.h358 行目に定義があります。

◆ IsValid()

bool IsValid ( void  ) const
inherited

[確認] 有効チェック

覚え書き
Invalid()で無効にされたとき、false になります。 無効はデータなし状態と同じです。
戻り値
true有効(データがEmptyの可能性もあり)
false無効(データはEmpty)

TnbVector.h687 行目に定義があります。

◆ Lock()

virtual bool Lock ( DWORD  dwTime = INFINITE) const
virtualinherited

[排他] ロック

覚え書き
Lock/Unlockは情報の排他のために使用します。スレッドセーブに するために、一連の情報操作前にLockし操作終了後にUnlockする必要が あります(単発の操作時は大丈夫です)。
引数
dwTimeダミーです。省略してください。
戻り値
常にtrue。

ISynchronizedを実装しています。

TnbVector.h353 行目に定義があります。

◆ Mid()

CVectorT< TNB::CPairT< T, T > > Mid ( INDEX  startIndex,
size_t  size = 0 
) const
inherited

[作成] 切り出し

覚え書き
自インスタンスで管理しているデータの中から 任意の場所のデータを取り出し、CVectorTを作成します。 自インスタンスは変化しません。
引数
startIndex切り出し開始位置
size切り出しサイズ。省略すると、管理している最後までを切り出します。
戻り値
新規インスタンス。

TnbVector.h705 行目に定義があります。

◆ operator size_t()

operator size_t ( void  ) const
inherited

[取得] 要素数取得.

戻り値
要素数

TnbCollection.h268 行目に定義があります。

◆ operator!=()

bool operator!= ( const TNB::IConstCollectionT< TNB::CPairT< T, T > > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t と異なる
false自分は t と同じ

TnbComparable.h98 行目に定義があります。

◆ operator+()

CVectorT< TNB::CPairT< T, T > > operator+ ( const CVectorT< TNB::CPairT< T, T > > &  other) const
inherited

[作成] 連結

覚え書き
自インスタンスで管理しているデータに指定のデータを 連結した、 CVectorT を作成します。 自インスタンスは変化しません。
引数
other連結する CVectorT
戻り値
新規インスタンス

TnbVector.h325 行目に定義があります。

◆ operator+=()

CVectorT & operator+= ( const CVectorT< TNB::CPairT< T, T > > &  vector)
inherited

[追加] 追加オペレータ

覚え書き
自インスタンスで管理しているデータに指定のデータを 追加します。
引数
vector追加するCVectorT
戻り値
自分の参照

TnbVector.h311 行目に定義があります。

◆ operator-()

INT_PTR operator- ( const TNB::IConstCollectionT< TNB::CPairT< T, T > > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
自分は t と同じ
1以上自分は t より大きい
0未満自分は t より小さい

TnbComparable.h82 行目に定義があります。

◆ operator<()

bool operator< ( const TNB::IConstCollectionT< TNB::CPairT< T, T > > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t より小さい
false自分は t と同じか大きい

TnbComparable.h106 行目に定義があります。

◆ operator<=()

bool operator<= ( const TNB::IConstCollectionT< TNB::CPairT< T, T > > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t と同じか小さい
false自分は t より大きい

TnbComparable.h114 行目に定義があります。

◆ operator==()

bool operator== ( const TNB::IConstCollectionT< TNB::CPairT< T, T > > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t と同じ
false自分は t と異なる

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

◆ operator>()

bool operator> ( const TNB::IConstCollectionT< TNB::CPairT< T, T > > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t より大きい
false自分は t と同じか小さい

TnbComparable.h122 行目に定義があります。

◆ operator>=()

bool operator>= ( const TNB::IConstCollectionT< TNB::CPairT< T, T > > &  t) const
inherited

[確認] 比較

引数
t比較対象
戻り値
true自分は t と同じか大きい
false自分は t より小さい

TnbComparable.h130 行目に定義があります。

◆ operator[]() [1/2]

TNB::CPairT< T, T > & operator[] ( INDEX  index)
inherited

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

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 Lock() / Unlock() を使用してください。
引数
indexインデックス
戻り値
参照。操作するとオブジェクト内の要素に影響が有ります。
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

TnbVector.h297 行目に定義があります。

◆ operator[]() [2/2]

const TNB::CPairT< T, T > & operator[] ( INDEX  index) const
inherited

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

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 Lock() / Unlock() を使用してください。
引数
indexインデックス
戻り値
参照。
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

TnbVector.h284 行目に定義があります。

◆ push_back()

void push_back ( const TNB::CPairT< T, T > &  t)
inherited

[反復] 最後に追加

引数
t要素

TnbVector.h149 行目に定義があります。

◆ push_front()

void push_front ( const TNB::CPairT< T, T > &  t)
inherited

[反復] 先頭に挿入

引数
t要素

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

◆ Ref()

virtual TNB::CPairT< T, T > & Ref ( INDEX  index)
virtualinherited

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

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 Lock() / Unlock() を使用してください。
引数
indexインデックス
戻り値
要素の参照
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

ICollectionT< TNB::CPairT< T, T > >を実装しています。

TnbVector.h246 行目に定義があります。

◆ ReferBuffer()

virtual const TNB::CPairT< T, T > * ReferBuffer ( void  ) const
virtualinherited

[取得] データアドレス取得

覚え書き
このアドレスの内容は書き換えてはいけません。書き換えるための アドレスは GetBuffer() を使用して取得してください。
取得したアドレスは delete で開放してはいけません。
取得したアドレスは本クラスの計算等、操作すると無効になります。
戻り値
アドレス。確保していない場合、NULLが返ります。

ISequenceCollectionT< TNB::CPairT< T, T > >を実装しています。

TnbVector.h664 行目に定義があります。

◆ ReleaseBuffer()

void ReleaseBuffer ( void  )
inherited

[操作] データの管理を元に戻す.

GetBuffer() を実行するとバッファの内容を書き換え ても問題ないようにバッファの管理を変更します。 本関数はその状態を元に戻す関数です。 戻さないと、コピー処理の際のオーバーヘッドが大きくなります。

覚え書き
本関数実行後、上記の関数で取得したバッファ内容は書き換えないでください。

TnbVector.h805 行目に定義があります。

◆ Remove()

virtual bool Remove ( INDEX  index)
virtualinherited

[削除] 要素一つ削除.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 RemoveEx() を使用してください。
引数
indexインデックス
戻り値
falseエラー。
true成功。

ICollectionT< TNB::CPairT< T, T > >を実装しています。

TnbVector.h397 行目に定義があります。

◆ RemoveAll()

virtual bool RemoveAll ( void  )
virtualinherited

[削除] 空化

覚え書き
自インスタンスで管理しているバッファを空にします。
戻り値
true成功
false失敗

ICollectionT< TNB::CPairT< T, T > >を再実装しています。

TnbVector.h565 行目に定義があります。

◆ RemoveElements()

virtual size_t RemoveElements ( INDEX  index,
size_t  size = 0 
)
virtualinherited

[削除] 要素削除.

引数
indexインデックス
size削除数。省略すると0。0を指定するとそれ以降全部削除します。
戻り値
INVALID_SIZEエラー。
戻り値
それ以外 削除した数。

ICollectionT< TNB::CPairT< T, T > >を再実装しています。

TnbVector.h409 行目に定義があります。

◆ RemoveEx()

bool RemoveEx ( INDEX  index)
inherited

[削除] 要素一つ削除.

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

TnbCollection.h1099 行目に定義があります。

◆ Serialize()

virtual void Serialize ( ISerializer _sr) const
virtualinherited

[処理] シリアライズ

引数
[out]_srシリアライザー。
例外
CTnbException失敗時は、任意のスローの可能性があります。

ISerializableを実装しています。

TnbCollection.h368 行目に定義があります。

◆ Set()

virtual bool Set ( INDEX  index,
const TNB::CPairT< T, T > &  t 
)
virtualinherited

[設定] 要素の設定.

覚え書き
非スレッドセーブメソッドです。 複数のスレッドからアクセスがある場合、 SetEx() を使用してください。
引数
indexインデックス
t内容
戻り値
true設定成功
false失敗

ICollectionT< TNB::CPairT< T, T > >を実装しています。

TnbVector.h265 行目に定義があります。

◆ SetElements()

virtual size_t SetElements ( size_t  size,
const TNB::CPairT< T, T > *  P = NULL 
)
virtualinherited

[設定] 複数要素設定.

管理しているバッファを開放し、指定のデータをコピーします。

引数
sizeデータ長。
Pコピーする内容を指定。省略すると TYP()が代入されます。
戻り値
INVALID_SIZEエラー。
それ以外複製した数。

ICollectionT< TNB::CPairT< T, T > >を再実装しています。

TnbVector.h526 行目に定義があります。

◆ SetEx()

bool SetEx ( INDEX  index,
const TNB::CPairT< T, T > &  t 
)
inherited

[設定] 要素の設定.

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

TnbCollection.h1011 行目に定義があります。

◆ SetIncrementSize()

void SetIncrementSize ( size_t  size)
inherited

[設定] 余白サイズ

覚え書き
新規にメモリを確保したとき、必要なサイズよりいくつ多く 確保しておくか、という値を設定できます。
通常は自動です。
コピーではこの値は引き継がれません。
引数
sizeメモリ確保時の追加サイズ。マイナスなら自動です。

TnbVector.h340 行目に定義があります。

◆ SetSize()

virtual bool SetSize ( size_t  size)
virtualinherited

[操作] サイズ指定

覚え書き
大きくすることも小さくすることも出来ます。
大きくした時、そのデータはTYP()で埋められます。
引数
sizeサイズ
戻り値
true成功
false失敗

ICollectionT< TNB::CPairT< T, T > >を再実装しています。

TnbVector.h618 行目に定義があります。

◆ Shuffle()

bool Shuffle ( int  iDepth = 1)
inherited

[操作] シャッフル.

要素の並びをシャッフルします。

覚え書き
範囲を限定したい場合、 COffsetAdapterT を使用します。
引数
iDepthシャッフルを何回行うかを指定できます。数やればバラけるというものも有りません。 省略すると1回です。
戻り値
true成功
false失敗

TnbCollection.h1434 行目に定義があります。

◆ Sort() [1/2]

bool Sort ( bool  boIsReverse = false,
bool  boIsBubble = false 
)
inherited

[操作] ソート.

IComparatorT::GetDefault() で得られるコンパレータを使用して比較します。

覚え書き
範囲を限定したい場合、 COffsetAdapterT を使用します。
引数
boIsReverse省略すると小さい順にソートします。 trueを指定すると大きい順位ソートします。
boIsBubbletrueをバブルソートアルゴリズムを使います。 通常はクイックソートアルゴリズムです。
戻り値
true成功
false失敗

TnbCollection.h1420 行目に定義があります。

◆ Sort() [2/2]

bool Sort ( const IComparatorT< TNB::CPairT< T, T > > &  comparator,
bool  boIsReverse = false,
bool  boIsBubble = false 
)
inherited

[操作] ソート.

コンパレータ( IComparatorT のサブクラス)を使用して、比較します。

覚え書き
範囲を限定したい場合、 COffsetAdapterT を使用します。
引数
comparatorコンパレーター
boIsReverse省略すると小さい順にソートします。 trueを指定すると大きい順位ソートします。
boIsBubbletrueをバブルソートアルゴリズムを使います。 通常はクイックソートアルゴリズムです。
戻り値
true成功
false失敗

TnbCollection.h1385 行目に定義があります。

◆ Swap()

virtual void Swap ( INDEX  index1,
INDEX  index2 
)
virtualinherited

[設定] 要素の入れ替え.

引数
index1インデックス1
index2インデックス2
例外
CIndexOutOfBoundsExceptionインデックスが範囲外であることを示すためにスローされます。

TnbCollection.h1155 行目に定義があります。

◆ TrimBottom() [1/2]

size_t TrimBottom ( const TNB::CPairT< T, T > &  t)
inherited

[処理] 末尾トリム.

覚え書き
保持する情報に対し処理します。
引数
tトリム対象の情報。
戻り値
残った数。

TnbCollection.h1498 行目に定義があります。

◆ TrimBottom() [2/2]

size_t TrimBottom ( const TNB::CPairT< T, T > &  t,
const IComparatorT< TNB::CPairT< T, T > > &  comparator 
)
inherited

[処理] 末尾トリム.

覚え書き
保持する情報に対し処理します。
引数
tトリム対象の情報。
comparatorコンパレータ。
戻り値
残った数。

TnbCollection.h1472 行目に定義があります。

◆ Unlock()

virtual void Unlock ( void  ) const
virtualinherited

[排他] アンロック

ISynchronizedを実装しています。

TnbVector.h359 行目に定義があります。

◆ X()

T X ( INDEX  index) const

[取得] X座標の取得.

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

TnbFigurePointer.h125 行目に定義があります。

◆ Y()

T Y ( INDEX  index) const

[取得] Y座標の取得.

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

TnbFigurePointer.h136 行目に定義があります。