TNB Library
TnbPair.h
[詳解]
1#pragma once
11#include "TnbSerializer.h"
12#include "TnbComparable.h"
13
14
15
16//TNB Library
17namespace TNB
18{
19
20
21
39template<typename FIRST, typename SECOND>
40class CPairT : public IComparableT< TNB::CPairT<FIRST, SECOND> >, public ISerializable
41{
42public:
43
44 FIRST first;
45 SECOND second;
46
48 CPairT(void) : first(FIRST()), second(SECOND())
49 {
50 }
51
57 CPairT(const FIRST& v1, const SECOND& v2) : first(v1), second(v2)
58 {
59 }
60
65 CPairT(const CPairT& other) : first(other.first), second(other.second)
66 {
67 }
68
74 CPairT& operator=(const CPairT& other)
75 {
76 first = other.first;
77 second = other.second;
78 return *this;
79 }
80
88 virtual INT_PTR Compare(const CPairT& t) const
89 {
91 if ( r != 0 )
92 {
93 return r;
94 }
96 }
97
103 virtual void Serialize(ISerializer& _sr) const
104 {
105 _sr << first << second;
106 }
107
113 virtual void Deserialize(const IDeserializer& ds)
114 {
115 ds >> first >> second;
116 }
117};
118
119
120
121}; // TNB
比較機能関係のヘッダ
シリアライザー関係のヘッダ
ペア型テンプレートクラス
Definition: TnbPair.h:41
virtual void Deserialize(const IDeserializer &ds)
[通知] デシリアライズ
Definition: TnbPair.h:113
CPairT & operator=(const CPairT &other)
[代入] コピーオペレータ
Definition: TnbPair.h:74
CPairT(void)
コンストラクタ
Definition: TnbPair.h:48
FIRST first
一つ目の型の値
Definition: TnbPair.h:44
CPairT(const CPairT &other)
コピーコンストラクタ
Definition: TnbPair.h:65
CPairT(const FIRST &v1, const SECOND &v2)
コンストラクタ
Definition: TnbPair.h:57
virtual void Serialize(ISerializer &_sr) const
[通知] シリアライズ
Definition: TnbPair.h:103
SECOND second
二つ目の型の値
Definition: TnbPair.h:45
virtual INT_PTR Compare(const CPairT &t) const
[確認] 比較
Definition: TnbPair.h:88
TNB Library
Definition: TnbDoxyTitle.txt:2
比較機能インターフェース.
Definition: TnbComparable.h:54
virtual INT_PTR CompareTo(const TYP &t1, const TYP &t2) const =0
[確認] 比較
static IComparatorT & GetDefault(void)
[作成] 汎用コンパレータ取得.
デシリアライザーインターフェースクラス.
シリアライザブルインターフェース.
Definition: TnbSerializer.h:47
シリアライザーインターフェースクラス.