TNB Library
公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
IComparatorT< TYP > 構造体テンプレートabstract

コンパレータインターフェース. [詳解]

#include <TnbComparator.h>

公開メンバ関数

virtual INT_PTR CompareTo (const TYP &t1, const TYP &t2) const =0
 [確認] 比較 [詳解]
 
virtual bool IsEqualTo (const TYP &t1, const TYP &t2) const
 [確認] 比較 [詳解]
 
virtual ~IComparatorT (void)
 デストラクタ [詳解]
 

静的公開メンバ関数

static IComparatorTGetDefault (void)
 [作成] 汎用コンパレータ取得. [詳解]
 

詳解

template<typename TYP>
struct TNB::IComparatorT< TYP >

コンパレータインターフェース.

比較機能( IComparableT のサブクラスか基本型)を持たない型同士を比較するための、
インターフェースです。
比較条件を CompareTo() に実装します。 

比較機能を持っている型でも、このインターフェースのサブクラスを作成し、
指定可能なメソッドに委譲することで、比較方法を変更することが出来ます。
覚え書き
型に対するデフォルトのコンパレータを作成することも出来ます( GetDefault() )。
引数
TYP要素の型。
必要ファイル
TnbComparator.h
日付
06/07/04 IConstCollectionT から分離。
06/09/13 IsEqualTo() 追加。

TnbComparator.h45 行目に定義があります。

構築子と解体子

◆ ~IComparatorT()

virtual ~IComparatorT ( void  )
virtual

デストラクタ

TnbComparator.h48 行目に定義があります。

関数詳解

◆ CompareTo()

virtual INT_PTR CompareTo ( const TYP &  t1,
const TYP &  t2 
) const
pure virtual

[確認] 比較

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

◆ GetDefault()

IComparatorT< TYP > & GetDefault ( void  )
static

[作成] 汎用コンパレータ取得.

TYP 用のコンパレータを作成します。

覚え書き
基本型、 IComparatorT 実装型、 CStr系型以外の場合、 比較しても「同じ」を返すコンパレータが作成されてしまいます。 その場合、本メソッドを使わず、 IComparatorT を実装して作成してください。
戻り値
汎用コンパレータ

TnbComparator.h224 行目に定義があります。

◆ IsEqualTo()

virtual bool IsEqualTo ( const TYP &  t1,
const TYP &  t2 
) const
virtual

[確認] 比較

引数
t1比較対象1
t2比較対象2
戻り値
truet1 は t2 と同じ
falset1 は t2 と異なる

TnbComparator.h67 行目に定義があります。