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

比較機能インターフェース. [詳解]

#include <TnbComparable.h>

公開メンバ関数

virtual INT_PTR Compare (const TYP &t) const =0
 [確認] 比較 [詳解]
 
virtual bool IsEqual (const TYP &t) const
 [確認] 比較 [詳解]
 
bool operator!= (const TYP &t) const
 [確認] 比較 [詳解]
 
INT_PTR operator- (const TYP &t) const
 [確認] 比較 [詳解]
 
bool operator< (const TYP &t) const
 [確認] 比較 [詳解]
 
bool operator<= (const TYP &t) const
 [確認] 比較 [詳解]
 
bool operator== (const TYP &t) const
 [確認] 比較 [詳解]
 
bool operator> (const TYP &t) const
 [確認] 比較 [詳解]
 
bool operator>= (const TYP &t) const
 [確認] 比較 [詳解]
 
virtual ~IComparableT (void)
 デストラクタ [詳解]
 

詳解

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

比較機能インターフェース.

このインターフェースを継承し、 Compare() をオーバーロードすることで、
その型に比較機能を実装することが出来ます( == や <= などで比較可能)。
使用例
比較結果を Compare() に実装します。

    struct TMyType : IComparableT<TMyType>
    {
        int i;
        INT_PTR Compare(const TMyType& t) const     
        {
            return i - t.i;
        }
    };      
    
引数
TYP実装するクラスを指定します。
必要ファイル
TnbComparable.h
日付
06/05/01 新規
06/09/13 IsEqual() も virtual 宣言に変更。

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

構築子と解体子

◆ ~IComparableT()

virtual ~IComparableT ( void  )
virtual

デストラクタ

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

関数詳解

◆ Compare()

virtual INT_PTR Compare ( const TYP &  t) const
pure virtual

[確認] 比較

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

CBitSet, CDoubleNullTerminateStr, CFileTimeEx, CHashableT< TYP >, CJisStr, CNullableT< TYP >, CSystemTime, CTmlValue, CUtf8Str, IConstCollectionT< bool >, IConstCollectionT< BYTE >, IConstCollectionT< CArrayPtrHandleT< TCHAR > >, IConstCollectionT< CArVaVector >, IConstCollectionT< CAscii >, IConstCollectionT< CCursorManager * >, IConstCollectionT< CDrawersVector >, IConstCollectionT< CFileInfoArray >, IConstCollectionT< char >, IConstCollectionT< CPointerHandleT< IDrawable > >, IConstCollectionT< CStr >, IConstCollectionT< CTmlValue >, IConstCollectionT< CVaVaVector >, IConstCollectionT< CVectorT< BYTE > >, IConstCollectionT< DWORD >, IConstCollectionT< EAttr >, IConstCollectionT< EKind >, IConstCollectionT< HICON >, IConstCollectionT< IDrawable::Ptr >, IConstCollectionT< INDEX >, IConstCollectionT< KEY >, IConstCollectionT< POINT >, IConstCollectionT< short >, IConstCollectionT< SOCKET >, IConstCollectionT< TBindWork * >, IConstCollectionT< TCHAR >, IConstCollectionT< TFuncInfo >, IConstCollectionT< TInfo >, IConstCollectionT< TNB::CArrayPtrHandleT< TParam > >, IConstCollectionT< TNB::CArrayPtrHandleT< TYP > >, IConstCollectionT< TNB::CGrammarAnalyzerT >, IConstCollectionT< TNB::CGrid::TFieldInfo >, IConstCollectionT< TNB::CListQueueT< TYP > >, IConstCollectionT< TNB::CMailAddress >, IConstCollectionT< TNB::CMultiFontTextDrawer::TPart >, IConstCollectionT< TNB::CNmea0183::TGpGsv >, IConstCollectionT< TNB::CPacketCommander::CInner::TTask * >, IConstCollectionT< TNB::CPairT >, IConstCollectionT< TNB::CPairT< CAscii, CAscii > >, IConstCollectionT< TNB::CPairT< COLORREF, CPointerHandleT< TPointInfo > > >, IConstCollectionT< TNB::CPairT< DWORD, TYP > >, IConstCollectionT< TNB::CPairT< FOURCC, TChunkMap > >, IConstCollectionT< TNB::CPairT< FOURCC, TNB::CStrT > >, IConstCollectionT< TNB::CPairT< HTREEITEM, CPointerHandleT< IDrawable > > >, IConstCollectionT< TNB::CPairT< int, HICON > >, IConstCollectionT< TNB::CPairT< KEY, VAL > >, IConstCollectionT< TNB::CPairT< PROPID, CTagInfo > >, IConstCollectionT< TNB::CPairT< T, T > >, IConstCollectionT< TNB::CPairT< TNB::CStrT, CVectorT< BYTE > > >, IConstCollectionT< TNB::CPairT< TNB::CStrT, TNB::CMapT > >, IConstCollectionT< TNB::CPairT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > > >, IConstCollectionT< TNB::CPointerHandleT< CCursorManager > >, IConstCollectionT< TNB::CPointerHandleT< TBindWork > >, IConstCollectionT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, IConstCollectionT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > >, IConstCollectionT< TNB::CPointerHandleT< TYP > >, IConstCollectionT< TNB::CShapeFile::IRecordContent * >, IConstCollectionT< TNB::CStrT< TYP > >, IConstCollectionT< TNB::CTmlDocuments::TFileInfo::TFunc >, IConstCollectionT< TNB::CVectorT >, IConstCollectionT< TNB::MFC::CColorfulListBox::CColor::TParam >, IConstCollectionT< TNB::MFC::CDrawingSubMenu * >, IConstCollectionT< TParam * >, IConstCollectionT< TParam >, IConstCollectionT< TValue >, IConstCollectionT< TYP * >, IConstCollectionT< TYP >, IConstCollectionT< UINT >, IConstCollectionT< VAL >, IConstCollectionT< WORD > (計79項目)で実装されています。

◆ IsEqual()

virtual bool IsEqual ( const TYP &  t) const
virtual

[確認] 比較

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

CHashableT< TYP >, IConstCollectionT< bool >, IConstCollectionT< BYTE >, IConstCollectionT< CArrayPtrHandleT< TCHAR > >, IConstCollectionT< CArVaVector >, IConstCollectionT< CAscii >, IConstCollectionT< CCursorManager * >, IConstCollectionT< CDrawersVector >, IConstCollectionT< CFileInfoArray >, IConstCollectionT< char >, IConstCollectionT< CPointerHandleT< IDrawable > >, IConstCollectionT< CStr >, IConstCollectionT< CTmlValue >, IConstCollectionT< CVaVaVector >, IConstCollectionT< CVectorT< BYTE > >, IConstCollectionT< DWORD >, IConstCollectionT< EAttr >, IConstCollectionT< EKind >, IConstCollectionT< HICON >, IConstCollectionT< IDrawable::Ptr >, IConstCollectionT< INDEX >, IConstCollectionT< KEY >, IConstCollectionT< POINT >, IConstCollectionT< short >, IConstCollectionT< SOCKET >, IConstCollectionT< TBindWork * >, IConstCollectionT< TCHAR >, IConstCollectionT< TFuncInfo >, IConstCollectionT< TInfo >, IConstCollectionT< TNB::CArrayPtrHandleT< TParam > >, IConstCollectionT< TNB::CArrayPtrHandleT< TYP > >, IConstCollectionT< TNB::CGrammarAnalyzerT >, IConstCollectionT< TNB::CGrid::TFieldInfo >, IConstCollectionT< TNB::CListQueueT< TYP > >, IConstCollectionT< TNB::CMailAddress >, IConstCollectionT< TNB::CMultiFontTextDrawer::TPart >, IConstCollectionT< TNB::CNmea0183::TGpGsv >, IConstCollectionT< TNB::CPacketCommander::CInner::TTask * >, IConstCollectionT< TNB::CPairT >, IConstCollectionT< TNB::CPairT< CAscii, CAscii > >, CMapT< CAscii, CAscii, LPCSTR >, IConstCollectionT< TNB::CPairT< COLORREF, CPointerHandleT< TPointInfo > > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, IConstCollectionT< TNB::CPairT< DWORD, TYP > >, CMapT< DWORD, TYP >, IConstCollectionT< TNB::CPairT< FOURCC, TChunkMap > >, CMapT< FOURCC, TChunkMap >, IConstCollectionT< TNB::CPairT< FOURCC, TNB::CStrT > >, CMapT< FOURCC, TNB::CStrT >, IConstCollectionT< TNB::CPairT< HTREEITEM, CPointerHandleT< IDrawable > > >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, IConstCollectionT< TNB::CPairT< int, HICON > >, CMapT< int, HICON >, IConstCollectionT< TNB::CPairT< KEY, VAL > >, CMapT< KEY, VAL, INK >, IConstCollectionT< TNB::CPairT< PROPID, CTagInfo > >, CMapT< PROPID, CTagInfo >, IConstCollectionT< TNB::CPairT< T, T > >, IConstCollectionT< TNB::CPairT< TNB::CStrT, CVectorT< BYTE > > >, CMapT< TNB::CStrT, CVectorT< BYTE > >, IConstCollectionT< TNB::CPairT< TNB::CStrT, TNB::CMapT > >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, IConstCollectionT< TNB::CPairT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > > >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, IConstCollectionT< TNB::CPointerHandleT< CCursorManager > >, IConstCollectionT< TNB::CPointerHandleT< TBindWork > >, IConstCollectionT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, IConstCollectionT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > >, IConstCollectionT< TNB::CPointerHandleT< TYP > >, IConstCollectionT< TNB::CShapeFile::IRecordContent * >, IConstCollectionT< TNB::CStrT< TYP > >, IConstCollectionT< TNB::CTmlDocuments::TFileInfo::TFunc >, IConstCollectionT< TNB::CVectorT >, IConstCollectionT< TNB::MFC::CColorfulListBox::CColor::TParam >, IConstCollectionT< TNB::MFC::CDrawingSubMenu * >, IConstCollectionT< TParam * >, IConstCollectionT< TParam >, IConstCollectionT< TValue >, IConstCollectionT< TYP * >, IConstCollectionT< TYP >, IConstCollectionT< UINT >, IConstCollectionT< VAL >, IConstCollectionT< WORD > (計83項目)で再実装されています。

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

◆ operator!=()

bool operator!= ( const TYP &  t) const

[確認] 比較

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

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

◆ operator-()

INT_PTR operator- ( const TYP &  t) const

[確認] 比較

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

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

◆ operator<()

bool operator< ( const TYP &  t) const

[確認] 比較

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

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

◆ operator<=()

bool operator<= ( const TYP &  t) const

[確認] 比較

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

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

◆ operator==()

bool operator== ( const TYP &  t) const

[確認] 比較

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

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

◆ operator>()

bool operator> ( const TYP &  t) const

[確認] 比較

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

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

◆ operator>=()

bool operator>= ( const TYP &  t) const

[確認] 比較

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

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