19#pragma comment(user,"T-Coverage Disable")
42template<
typename TYP,
typename DIF=TYP>
49 void m_CheckRange(
void)
51 if ( m_first > m_last )
53 Swap(m_first, m_last);
54 ASSERTLIB(m_first <= m_last);
64 CRangeT(
const TYP& t = TYP()) : m_first(t), m_last(t)
74 CRangeT(
const TYP& t1,
const TYP& t2) : m_first(t1), m_last(t2)
85 ASSERTLIB(m_first <= m_last);
95 m_first = other.m_first;
96 m_last = other.m_last;
97 ASSERTLIB(m_first <= m_last);
107 void Set(
const TYP& t1,
const TYP& t2)
144 m_last = m_first + d;
191 return m_last - m_first;
267 return m_first <= t && m_last >= t;
279 return m_first <= rng.m_first && m_last >= rng.m_last;
330 if ( r1.m_last >= r2.m_last )
334 if ( r1.m_last >= r2.m_first )
336 if ( r1.m_first == r2.m_first )
369 if ( r1.m_first == r2.m_first )
375 return CRangeT(r2.m_first, r1.m_last);
386 TYP t1 = min(m_first, rng.m_first);
387 TYP t2 = max(m_last, rng.m_last);
412 _sr << m_first << m_last;
422 ds >> m_first >> m_last;
433#pragma comment(user,"T-Coverage Enable")
virtual INT_PTR Compare(const CRangeT &rng) const
[確認] 比較
bool IsInRange(const CRangeT &rng) const
[確認] 範囲内確認
void SetRange(const DIF &d)
[代入] Diff値代入
CRangeT & operator=(const CRangeT &other)
[代入] コピーオペレータ
void SetFirst(const TYP &t)
[代入] First値代入
void Set(const TYP &t1, const TYP &t2)
[代入] 代入
virtual void Deserialize(const IDeserializer &ds)
[通知] デシリアライズ
bool IsInRange(const TYP &t) const
[確認] 範囲内確認
const TYP & GetLast(void) const
[取得] Last値取得
friend CRangeT operator+(const CRangeT &rng, const DIF &dif)
[取得] 加算
bool InRange(const TYP &t) const
[確認] 範囲内確認
CRangeT(const TYP &t1, const TYP &t2)
コンストラクタ
DIF Difference(void) const
[計算] Diff値取得
CRangeT(const TYP &t=TYP())
コンストラクタ
CRangeT Union(const CRangeT &rng) const
[取得] 内包範囲取得
CRangeT Intersect(const CRangeT &rng) const
[取得] 重複範囲取得
ERelationType GetRelation(const CRangeT &rng) const
[確認] 関係確認
friend CRangeT operator-(const CRangeT &rng, const DIF &dif)
[取得] 減算
CRangeT & operator+=(const DIF &dif)
[計算] 加算
const TYP & GetFirst(void) const
[取得] First値取得
TYP GetFirst(void)
[取得] First値取得
TYP GetLast(void)
[取得] Last値取得
virtual void Serialize(ISerializer &_sr) const
[通知] シリアライズ
CRangeT(const CRangeT &other)
コピーコンストラクタ
bool InRange(const CRangeT &rng) const
[確認] 範囲内確認
void SetLast(const TYP &t)
[代入] Last値代入
CRangeT & operator-=(const DIF &dif)
[計算] 減算
TYP Center(void) const
[取得] 中央計算
void Swap(T &t1, T &t2)
[変換] スワッパー.
virtual INT_PTR CompareTo(const TYP &t1, const TYP &t2) const =0
[確認] 比較
static IComparatorT & GetDefault(void)
[作成] 汎用コンパレータ取得.