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

範囲管理テンプレートクラス [詳解]

#include <TnbRange.h>

+ CRangeT< TYP, DIF > の継承関係図

公開型

enum  ERelationType { UNRELATED , TOUCHED , WARPPED }
 関係タイプ [詳解]
 

公開メンバ関数

TYP Center (void) const
 [取得] 中央計算 [詳解]
 
virtual INT_PTR Compare (const CRangeT &rng) const
 [確認] 比較 [詳解]
 
virtual INT_PTR Compare (const TNB::CRangeT< TYP, TYP > &t) const=0
 [確認] 比較 [詳解]
 
 CRangeT (const CRangeT &other)
 コピーコンストラクタ [詳解]
 
 CRangeT (const TYP &t1, const TYP &t2)
 コンストラクタ [詳解]
 
 CRangeT (const TYP &t=TYP())
 コンストラクタ [詳解]
 
virtual void Deserialize (const IDeserializer &ds)
 [通知] デシリアライズ [詳解]
 
DIF Difference (void) const
 [計算] Diff値取得 [詳解]
 
TYP GetFirst (void)
 [取得] First値取得 [詳解]
 
const TYP & GetFirst (void) const
 [取得] First値取得 [詳解]
 
TYP GetLast (void)
 [取得] Last値取得 [詳解]
 
const TYP & GetLast (void) const
 [取得] Last値取得 [詳解]
 
ERelationType GetRelation (const CRangeT &rng) const
 [確認] 関係確認 [詳解]
 
bool InRange (const CRangeT &rng) const
 [確認] 範囲内確認 [詳解]
 
bool InRange (const TYP &t) const
 [確認] 範囲内確認 [詳解]
 
CRangeT Intersect (const CRangeT &rng) const
 [取得] 重複範囲取得 [詳解]
 
virtual bool IsEqual (const TNB::CRangeT< TYP, TYP > &t) const
 [確認] 比較 [詳解]
 
bool IsInRange (const CRangeT &rng) const
 [確認] 範囲内確認 [詳解]
 
bool IsInRange (const TYP &t) const
 [確認] 範囲内確認 [詳解]
 
bool operator!= (const TNB::CRangeT< TYP, TYP > &t) const
 [確認] 比較 [詳解]
 
CRangeToperator+= (const DIF &dif)
 [計算] 加算 [詳解]
 
INT_PTR operator- (const TNB::CRangeT< TYP, TYP > &t) const
 [確認] 比較 [詳解]
 
CRangeToperator-= (const DIF &dif)
 [計算] 減算 [詳解]
 
bool operator< (const TNB::CRangeT< TYP, TYP > &t) const
 [確認] 比較 [詳解]
 
bool operator<= (const TNB::CRangeT< TYP, TYP > &t) const
 [確認] 比較 [詳解]
 
CRangeToperator= (const CRangeT &other)
 [代入] コピーオペレータ [詳解]
 
bool operator== (const TNB::CRangeT< TYP, TYP > &t) const
 [確認] 比較 [詳解]
 
bool operator> (const TNB::CRangeT< TYP, TYP > &t) const
 [確認] 比較 [詳解]
 
bool operator>= (const TNB::CRangeT< TYP, TYP > &t) const
 [確認] 比較 [詳解]
 
virtual void Serialize (ISerializer &_sr) const
 [通知] シリアライズ [詳解]
 
void Set (const TYP &t1, const TYP &t2)
 [代入] 代入 [詳解]
 
void SetFirst (const TYP &t)
 [代入] First値代入 [詳解]
 
void SetLast (const TYP &t)
 [代入] Last値代入 [詳解]
 
void SetRange (const DIF &d)
 [代入] Diff値代入 [詳解]
 
CRangeT Union (const CRangeT &rng) const
 [取得] 内包範囲取得 [詳解]
 

詳解

template<typename TYP, typename DIF = TYP>
class TNB::CRangeT< TYP, DIF >

範囲管理テンプレートクラス

ある値とある値をペアで管理するテンプレートクラスです。
引数
TYP比較機能のある型を指定できます。
DIF「TYP-TYP=DIF」「TYP+DIF=TYP」になるような型を指定します。
必要ファイル
TnbRange.h
日付
06/10/13 新規作成

TnbRange.h43 行目に定義があります。

列挙型メンバ詳解

◆ ERelationType

関係タイプ

列挙値
UNRELATED 

無関係

TOUCHED 

一部接触

WARPPED 

内包

TnbRange.h306 行目に定義があります。

構築子と解体子

◆ CRangeT() [1/3]

CRangeT ( const TYP &  t = TYP())

コンストラクタ

引数
t

TnbRange.h64 行目に定義があります。

◆ CRangeT() [2/3]

CRangeT ( const TYP &  t1,
const TYP &  t2 
)

コンストラクタ

覚え書き
First,Lastは逆でも構いません( 内部的に管理を入れ替えます)。
引数
t1値1
t2値2

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

◆ CRangeT() [3/3]

CRangeT ( const CRangeT< TYP, DIF > &  other)

コピーコンストラクタ

引数
otherコピー元。

TnbRange.h83 行目に定義があります。

関数詳解

◆ Center()

TYP Center ( void  ) const

[取得] 中央計算

注意
DIF の型が割り算をサポートしていることが必要です。
戻り値
中央を指す値

TnbRange.h199 行目に定義があります。

◆ Compare() [1/2]

virtual INT_PTR Compare ( const CRangeT< TYP, DIF > &  rng) const
virtual

[確認] 比較

覚え書き
First値が同じ場合、Last値を比較する。
引数
rng比較対象
戻り値
自分は rng と同じ
1以上自分は rng より大きい
0未満自分は rng より小さい

TnbRange.h399 行目に定義があります。

◆ Compare() [2/2]

virtual INT_PTR Compare ( const TNB::CRangeT< TYP, TYP > &  t) const
pure virtualinherited

[確認] 比較

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

◆ Deserialize()

virtual void Deserialize ( const IDeserializer ds)
virtual

[通知] デシリアライズ

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

ISerializableを実装しています。

TnbRange.h420 行目に定義があります。

◆ Difference()

DIF Difference ( void  ) const

[計算] Diff値取得

覚え書き
Last値 - First値が返ります。
戻り値
Diff値

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

◆ GetFirst() [1/2]

TYP GetFirst ( void  )

[取得] First値取得

戻り値

TnbRange.h152 行目に定義があります。

◆ GetFirst() [2/2]

const TYP & GetFirst ( void  ) const

[取得] First値取得

戻り値

TnbRange.h161 行目に定義があります。

◆ GetLast() [1/2]

TYP GetLast ( void  )

[取得] Last値取得

戻り値

TnbRange.h170 行目に定義があります。

◆ GetLast() [2/2]

const TYP & GetLast ( void  ) const

[取得] Last値取得

戻り値

TnbRange.h179 行目に定義があります。

◆ GetRelation()

ERelationType GetRelation ( const CRangeT< TYP, DIF > &  rng) const

[確認] 関係確認

覚え書き
自分と対象の関係を調べます。
引数
rng対象
戻り値
UNRELATED無関係。重なっている部分はありません。
WARPPED内包。片方が全て含んでいます。
TOUCHED一部接触。一部重なっている部分があります( Intersect() で取り出すことが出来ます)。

TnbRange.h321 行目に定義があります。

◆ InRange() [1/2]

bool InRange ( const CRangeT< TYP, DIF > &  rng) const

[確認] 範囲内確認

覚え書き
対象が本インスタンスの範囲に全て含まれるか確認します。
引数
rng対象
戻り値
true範囲内
false範囲外

TnbRange.h300 行目に定義があります。

◆ InRange() [2/2]

bool InRange ( const TYP &  t) const

[確認] 範囲内確認

引数
t
戻り値
true範囲内
false範囲外

TnbRange.h288 行目に定義があります。

◆ Intersect()

CRangeT Intersect ( const CRangeT< TYP, DIF > &  rng) const

[取得] 重複範囲取得

覚え書き
自分と対象で重複している範囲をもつ CRangeT が得られます。
引数
rng対象
戻り値
結果
例外
CEmptyException重複範囲がない場合、スローされます。

TnbRange.h352 行目に定義があります。

◆ IsEqual()

virtual bool IsEqual ( const TNB::CRangeT< TYP, TYP > &  t) const
virtualinherited

[確認] 比較

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

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

◆ IsInRange() [1/2]

bool IsInRange ( const CRangeT< TYP, DIF > &  rng) const

[確認] 範囲内確認

覚え書き
対象が本インスタンスの範囲に全て含まれるか確認します。
引数
rng対象
戻り値
true範囲内
false範囲外

TnbRange.h277 行目に定義があります。

◆ IsInRange() [2/2]

bool IsInRange ( const TYP &  t) const

[確認] 範囲内確認

引数
t
戻り値
true範囲内
false範囲外

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

◆ operator!=()

bool operator!= ( const TNB::CRangeT< TYP, TYP > &  t) const
inherited

[確認] 比較

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

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

◆ operator+=()

CRangeT & operator+= ( const DIF &  dif)

[計算] 加算

覚え書き
First値 Last値に指定Diff値を加えます。
引数
difDiff値
戻り値
自分の参照

TnbRange.h211 行目に定義があります。

◆ operator-()

INT_PTR operator- ( const TNB::CRangeT< TYP, TYP > &  t) const
inherited

[確認] 比較

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

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

◆ operator-=()

CRangeT & operator-= ( const DIF &  dif)

[計算] 減算

覚え書き
First値 Last値に指定Diff値を引きます。
引数
difDiff値
戻り値
自分の参照

TnbRange.h238 行目に定義があります。

◆ operator<()

bool operator< ( const TNB::CRangeT< TYP, TYP > &  t) const
inherited

[確認] 比較

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

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

◆ operator<=()

bool operator<= ( const TNB::CRangeT< TYP, TYP > &  t) const
inherited

[確認] 比較

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

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

◆ operator=()

CRangeT & operator= ( const CRangeT< TYP, DIF > &  other)

[代入] コピーオペレータ

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

TnbRange.h93 行目に定義があります。

◆ operator==()

bool operator== ( const TNB::CRangeT< TYP, TYP > &  t) const
inherited

[確認] 比較

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

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

◆ operator>()

bool operator> ( const TNB::CRangeT< TYP, TYP > &  t) const
inherited

[確認] 比較

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

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

◆ operator>=()

bool operator>= ( const TNB::CRangeT< TYP, TYP > &  t) const
inherited

[確認] 比較

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

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

◆ Serialize()

virtual void Serialize ( ISerializer _sr) const
virtual

[通知] シリアライズ

引数
[out]_srシリアライザー。 これに対しメンバの内容を追加してください。
例外
CTnbException失敗時は、任意のスローの可能性があります。

ISerializableを実装しています。

TnbRange.h410 行目に定義があります。

◆ Set()

void Set ( const TYP &  t1,
const TYP &  t2 
)

[代入] 代入

覚え書き
First,Lastは逆でも構いません( 内部的に管理を入れ替えます)。
引数
t1値1
t2値2

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

◆ SetFirst()

void SetFirst ( const TYP &  t)

[代入] First値代入

注意
Last値より大きい値を設定すると、内部的に管理を入れ替えます。
引数
t

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

◆ SetLast()

void SetLast ( const TYP &  t)

[代入] Last値代入

注意
First値より小さい値を設定すると、内部的に管理を入れ替えます。
引数
t

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

◆ SetRange()

void SetRange ( const DIF &  d)

[代入] Diff値代入

覚え書き
Diff値を指定することで、First値を基点に、Last値を設定します。 (Last値 = First値 + Diff値)
引数
d

TnbRange.h142 行目に定義があります。

◆ Union()

CRangeT Union ( const CRangeT< TYP, DIF > &  rng) const

[取得] 内包範囲取得

覚え書き
自分と対象が両方内包される CRangeT が得られます。
引数
rng対象
戻り値
結果

TnbRange.h384 行目に定義があります。