TNB Library
|
範囲管理テンプレートクラス [詳解]
#include <TnbRange.h>
公開型 | |
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 |
[確認] 比較 [詳解] | |
CRangeT & | operator+= (const DIF &dif) |
[計算] 加算 [詳解] | |
INT_PTR | operator- (const TNB::CRangeT< TYP, TYP > &t) const |
[確認] 比較 [詳解] | |
CRangeT & | operator-= (const DIF &dif) |
[計算] 減算 [詳解] | |
bool | operator< (const TNB::CRangeT< TYP, TYP > &t) const |
[確認] 比較 [詳解] | |
bool | operator<= (const TNB::CRangeT< TYP, TYP > &t) const |
[確認] 比較 [詳解] | |
CRangeT & | operator= (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 |
[取得] 内包範囲取得 [詳解] | |
範囲管理テンプレートクラス
ある値とある値をペアで管理するテンプレートクラスです。
TYP | 比較機能のある型を指定できます。 |
DIF | 「TYP-TYP=DIF」「TYP+DIF=TYP」になるような型を指定します。 |
TnbRange.h の 43 行目に定義があります。
enum ERelationType |
CRangeT | ( | const TYP & | t = TYP() | ) |
CRangeT | ( | const TYP & | t1, |
const TYP & | t2 | ||
) |
TYP Center | ( | void | ) | const |
|
virtual |
[確認] 比較
rng | 比較対象 |
0 | 自分は rng と同じ |
1以上 | 自分は rng より大きい |
0未満 | 自分は rng より小さい |
TnbRange.h の 399 行目に定義があります。
|
pure virtualinherited |
[確認] 比較
t | 比較対象 |
0 | 自分は t と同じ |
1以上 | 自分は t より大きい |
0未満 | 自分は t より小さい |
|
virtual |
[通知] デシリアライズ
ds | デシリアライザー。これからメンバの内容を取り出してください。 |
CTnbException | 失敗時は、任意のスローの可能性があります。 |
ISerializableを実装しています。
TnbRange.h の 420 行目に定義があります。
DIF Difference | ( | void | ) | const |
TYP GetFirst | ( | void | ) |
const TYP & GetFirst | ( | void | ) | const |
TYP GetLast | ( | void | ) |
const TYP & GetLast | ( | void | ) | const |
ERelationType GetRelation | ( | const CRangeT< TYP, DIF > & | rng | ) | const |
[確認] 関係確認
rng | 対象 |
UNRELATED | 無関係。重なっている部分はありません。 |
WARPPED | 内包。片方が全て含んでいます。 |
TOUCHED | 一部接触。一部重なっている部分があります( Intersect() で取り出すことが出来ます)。 |
TnbRange.h の 321 行目に定義があります。
bool InRange | ( | const CRangeT< TYP, DIF > & | rng | ) | const |
[確認] 範囲内確認
rng | 対象 |
true | 範囲内 |
false | 範囲外 |
TnbRange.h の 300 行目に定義があります。
bool InRange | ( | const TYP & | t | ) | const |
[取得] 重複範囲取得
rng | 対象 |
CEmptyException | 重複範囲がない場合、スローされます。 |
TnbRange.h の 352 行目に定義があります。
|
virtualinherited |
bool IsInRange | ( | const CRangeT< TYP, DIF > & | rng | ) | const |
[確認] 範囲内確認
rng | 対象 |
true | 範囲内 |
false | 範囲外 |
TnbRange.h の 277 行目に定義があります。
bool IsInRange | ( | const TYP & | t | ) | const |
|
inherited |
CRangeT & operator+= | ( | const DIF & | dif | ) |
|
inherited |
CRangeT & operator-= | ( | const DIF & | dif | ) |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
virtual |
[通知] シリアライズ
[out] | _sr | シリアライザー。 これに対しメンバの内容を追加してください。 |
CTnbException | 失敗時は、任意のスローの可能性があります。 |
ISerializableを実装しています。
TnbRange.h の 410 行目に定義があります。
void Set | ( | const TYP & | t1, |
const TYP & | t2 | ||
) |
void SetFirst | ( | const TYP & | t | ) |
void SetLast | ( | const TYP & | t | ) |
void SetRange | ( | const DIF & | d | ) |
[代入] Diff値代入
d | 値 |
TnbRange.h の 142 行目に定義があります。