KSCL::CDomainedNumber< type_Data >のコラボレーション図
公開メンバ | |
CDomainedNumber (type_Data p_Max, type_Data p_Min, CDomainedNumber< type_Data > *p_pcCarryUpDomainNumber=0) | |
コンストラクタ。. より詳しく... | |
virtual | ~CDomainedNumber () |
デストラクタ。. より詳しく... | |
type_Data | GetData () const |
数値を返します。. より詳しく... | |
void | SetData (type_Data p_Data) |
数値をセットします。. より詳しく... | |
type_Data | Recalc () |
値を計算してチェックします。繰り上がり方向と繰り下がり方向両方に計算していきます。. より詳しく... | |
保護メンバ | |
virtual type_Data | GetCarryUp () |
・繰り上がりの値を計算します。. より詳しく... | |
virtual type_Data | GetCarryDown () |
繰り下がりの値を計算します。. より詳しく... | |
virtual type_Data | GetRemainder (type_Data p_carryUpData) |
繰り上がり・繰り下がりを除いた「余り」を計算します。. より詳しく... | |
virtual bool | IsShouldCarryUp (type_Data p_Data, type_Data p_Max) |
繰り上がりすべきかどうか調べます。. より詳しく... | |
virtual bool | IsShouldCarryDown (type_Data p_Data, type_Data p_Min) |
繰り下がりすべきかどうか調べます。. より詳しく... | |
保護属性 | |
type_Data | m_Data |
実際の数値を入れる変数。. より詳しく... | |
type_Data | m_Max |
数値範囲の上限値。. より詳しく... | |
type_Data | m_Min |
数値範囲の下限値。. より詳しく... | |
非公開属性 | |
CDomainedNumber< type_Data > * | m_pcCarryUpDomainNumber |
繰り上がり先へのポインタ。. より詳しく... |
たとえば時間の「時」「分」「秒」のように、上限と下限が決められている値があります。
そういった値を管理するためのクラスです。
このクラスでは、上限と下限の間に値が入るようにし、繰り上がりと繰り下がりを他の CDomainedNumber クラスに 反映させることができます。
この「チェーン」は(当然ですが)必ず下の桁から上の桁へとリンクするようにしてください。 「秒」から「分」へとリンクさせることで、秒の繰り上がり・繰り下がりが分へと反映されます。 また、当然、「分」の繰り上がり・繰り下がりが「秒」へと反映されることはありません。チェーンは下から上への 一方通行です。
type_Data | 値の型。まぁ普通は int か unsigned int だと思います。 |
|
コンストラクタ。. 各種初期設定を行います。
|
|
デストラクタ。.
特に何もしません。 |
|
数値を返します。.
|
|
数値をセットします。.
このクラスには、別に operator+() とかがあるわけではないので、値のセットにはこのメンバ関数を使ってください。
|
|
値を計算してチェックします。繰り上がり方向と繰り下がり方向両方に計算していきます。. 数値が範囲内かどうか計算して、範囲外なら範囲内に収まるようにして、繰り上がり先に繰り上がり・繰り下がりの値を 加えて Recalc() を呼び出します。
|
|
・繰り上がりの値を計算します。.
上限値を超えている場合に呼び出されます。繰り上がりの値を計算します。
|
|
繰り下がりの値を計算します。.
下限値を下回っている場合に呼び出されます。繰り下がりの値を計算します。
|
|
繰り上がり・繰り下がりを除いた「余り」を計算します。.
繰り上がり、繰り下がりの結果、残った値を計算して返します。
|
|
繰り上がりすべきかどうか調べます。.
上限値と現在の値を比較して、上限値を上回っているなら true を返してください。
|
|
繰り下がりすべきかどうか調べます。.
下限値と現在の値を比較して、下限値を下回っているなら true を返してください。
|
|
実際の数値を入れる変数。.
|
|
数値範囲の上限値。.
|
|
数値範囲の下限値。.
|
|
繰り上がり先へのポインタ。.
|