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

NULL状態有り化テンプレートクラス. [詳解]

#include <TnbNullable.h>

+ CNullableT< TYP > の継承関係図

公開メンバ関数

TYP & At (void)
 [取得] 参照取得 [詳解]
 
const TYP & At (void) const
 [取得] 値参照取得 [詳解]
 
 CNullableT (const CNullableT< TYP > &t)
 コピーコンストラクタ [詳解]
 
 CNullableT (const TYP &t)
 [代入] 代入コンストラクタ [詳解]
 
 CNullableT (void)
 コンストラクタ. [詳解]
 
virtual INT_PTR Compare (const CNullableT< TYP > &t) const
 [確認] 比較 [詳解]
 
virtual void Deserialize (const IDeserializer &ds)=0
 [通知] デシリアライズ [詳解]
 
virtual void Deserializer (const IDeserializer &ds)
 [処理] デシリアライズ. [詳解]
 
virtual bool IsEqual (const TNB::CNullableT< TYP > &t) const
 [確認] 比較 [詳解]
 
bool IsNull (void) const
 [確認] NULL状態確認 [詳解]
 
void Null (void)
 [設定] NULL状態化 [詳解]
 
 operator const TYP & (void) const
 [取得] 値参照取得 [詳解]
 
 operator TYP & (void)
 [取得] 参照取得 [詳解]
 
bool operator!= (const TNB::CNullableT< TYP > &t) const
 [確認] 比較 [詳解]
 
TYP operator+ (void) const
 [取得] 値取得 [詳解]
 
INT_PTR operator- (const TNB::CNullableT< TYP > &t) const
 [確認] 比較 [詳解]
 
TYP operator- (void) const
 [取得] マイナス単項 [詳解]
 
bool operator< (const TNB::CNullableT< TYP > &t) const
 [確認] 比較 [詳解]
 
bool operator<= (const TNB::CNullableT< TYP > &t) const
 [確認] 比較 [詳解]
 
CNullableToperator= (const CNullableT &other)
 [代入] コピーオペレータ [詳解]
 
CNullableToperator= (const TYP &t)
 [代入] 代入 [詳解]
 
bool operator== (const TNB::CNullableT< TYP > &t) const
 [確認] 比較 [詳解]
 
bool operator> (const TNB::CNullableT< TYP > &t) const
 [確認] 比較 [詳解]
 
bool operator>= (const TNB::CNullableT< TYP > &t) const
 [確認] 比較 [詳解]
 
virtual void Serialize (ISerializer &_sr) const
 [処理] シリアライズ. [詳解]
 

詳解

template<typename TYP>
class TNB::CNullableT< TYP >

NULL状態有り化テンプレートクラス.

NULL状態を持たない型にNULL状態を保持できる機能を付加するテンプレートです。
使用例

        CNullableT<int> x;
        x = 5;
        int i = x;
        x++;
        bool bbbb = (x.At() < 5);       //要素の型との比較時は、At()を使用
        x.IsNull();                     //NULL化
    

覚え書き
ISerializable を持っています。コレクションの要素に使用してもシリアライズが可能です。
引数
TYP要素の型。
必要ファイル
TnbNullable.h
日付
06/09/12 新規

TnbNullable.h49 行目に定義があります。

構築子と解体子

◆ CNullableT() [1/3]

CNullableT ( void  )

コンストラクタ.

覚え書き
NULL状態のオブジェクトになります。

TnbNullable.h60 行目に定義があります。

◆ CNullableT() [2/3]

CNullableT ( const CNullableT< TYP > &  t)

コピーコンストラクタ

引数
tコピー元

TnbNullable.h68 行目に定義があります。

◆ CNullableT() [3/3]

CNullableT ( const TYP &  t)

[代入] 代入コンストラクタ

引数
t要素

TnbNullable.h76 行目に定義があります。

関数詳解

◆ At() [1/2]

TYP & At ( void  )

[取得] 参照取得

戻り値
要素の参照。変更すると、本インスタンスに影響があります。
例外
CNullPointerExceptionNULL状態であることを示すためにスローされます。

TnbNullable.h126 行目に定義があります。

◆ At() [2/2]

const TYP & At ( void  ) const

[取得] 値参照取得

戻り値
要素の参照
例外
CNullPointerExceptionNULL状態であることを示すためにスローされます。

TnbNullable.h137 行目に定義があります。

◆ Compare()

virtual INT_PTR Compare ( const CNullableT< TYP > &  t) const
virtual

[確認] 比較

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

IComparableT< TNB::CNullableT< TYP > >を実装しています。

TnbNullable.h111 行目に定義があります。

◆ Deserialize()

virtual void Deserialize ( const IDeserializer ds)
pure virtualinherited

[通知] デシリアライズ

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

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

◆ Deserializer()

virtual void Deserializer ( const IDeserializer ds)
virtual

[処理] デシリアライズ.

覚え書き
指定のデシリアライザーからに本オブジェクトに情報を取り込みます。
引数
[in]dsデシリアライザー

TnbNullable.h208 行目に定義があります。

◆ IsEqual()

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

[確認] 比較

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

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

◆ IsNull()

bool IsNull ( void  ) const

[確認] NULL状態確認

戻り値
trueNULL状態。この状態で要素にアクセスすると、スローされます。
false非NULL状態。

TnbNullable.h182 行目に定義があります。

◆ Null()

void Null ( void  )

[設定] NULL状態化

TnbNullable.h187 行目に定義があります。

◆ operator const TYP &()

operator const TYP & ( void  ) const

[取得] 値参照取得

戻り値
要素の参照
例外
CNullPointerExceptionNULL状態であることを示すためにスローされます。

TnbNullable.h155 行目に定義があります。

◆ operator TYP &()

operator TYP & ( void  )

[取得] 参照取得

戻り値
要素の参照。変更すると、本インスタンスに影響があります。
例外
CNullPointerExceptionNULL状態であることを示すためにスローされます。

TnbNullable.h148 行目に定義があります。

◆ operator!=()

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

[確認] 比較

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

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

◆ operator+()

TYP operator+ ( void  ) const

[取得] 値取得

戻り値
要素
例外
CNullPointerExceptionNULL状態であることを示すためにスローされます。

TnbNullable.h162 行目に定義があります。

◆ operator-() [1/2]

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

[確認] 比較

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

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

◆ operator-() [2/2]

TYP operator- ( void  ) const

[取得] マイナス単項

戻り値
マイナス単項の結果
例外
CNullPointerExceptionNULL状態であることを示すためにスローされます。

TnbNullable.h172 行目に定義があります。

◆ operator<()

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

[確認] 比較

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

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

◆ operator<=()

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

[確認] 比較

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

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

◆ operator=() [1/2]

CNullableT & operator= ( const CNullableT< TYP > &  other)

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

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

TnbNullable.h85 行目に定義があります。

◆ operator=() [2/2]

CNullableT & operator= ( const TYP &  t)

[代入] 代入

引数
t要素
戻り値
自分の参照

TnbNullable.h97 行目に定義があります。

◆ operator==()

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

[確認] 比較

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

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

◆ operator>()

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

[確認] 比較

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

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

◆ operator>=()

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

[確認] 比較

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

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

◆ Serialize()

virtual void Serialize ( ISerializer _sr) const
virtual

[処理] シリアライズ.

覚え書き
指定のシリアライザーに本オブジェクトの保持している情報を出力します。
引数
[out]_srシリアライザー

ISerializableを実装しています。

TnbNullable.h198 行目に定義があります。