TNB Library
|
単位付値管理テンプレートクラス [詳解]
#include <TnbValueParUnit.h>
公開型 | |
enum | { KINDCODE = EX::KINDCODE } |
単位種コード [詳解] | |
enum | EPfUnitCode { DEF = _BIT(30) , YOTTA , ZETTA , EXA , PETA , TERA , GIGA , MEGA , KILO , DECI , CENTI , MILLI , MICRO , NANO , PICO , FEMTO , ATTO , ZEPTO , YOCTO , YOBI , ZEBI , EXBI , PEBI , TEBI , GIBI , MEBI , KIBI , KIRO = KILO } |
接頭単位コード. [詳解] | |
公開メンバ関数 | |
CValueParUnitT (const CRealNumber &v) | |
コンストラクタ. [詳解] | |
CValueParUnitT (const CRealNumber &v, CExCode code) | |
コンストラクタ. [詳解] | |
CValueParUnitT (const CRealNumber &v, CNumeCode c1, CDenoCode c2) | |
コンストラクタ. [詳解] | |
CValueParUnitT (void) | |
コンストラクタ. [詳解] | |
CDenoCode | GetDenoUnitCode (void) const |
[取得] 分母単位コード取得. [詳解] | |
CNumeCode | GetUnitCode (void) const |
[取得] 単位コード取得. [詳解] | |
CStr | GetUnitJapanString (void) const |
[取得] 単位マーク文字列取得. [詳解] | |
CStr | GetUnitMarkString (void) const |
[取得] 単位マーク文字列取得. [詳解] | |
CRealNumber | GetValue (CExCode code) const |
[取得] 値取得 (単位指定). [詳解] | |
CRealNumber | GetValue (CNumeCode c1, CDenoCode c2) const |
[取得] 値取得 (単位指定). [詳解] | |
CRealNumber | GetValue (void) const |
[取得] 値取得. [詳解] | |
bool | HasExCode (void) const |
[確認] 単位コード確認. [詳解] | |
bool | operator!= (const CValueParUnitT &t) const |
[確認] 比較 [詳解] | |
CValueParUnitT | operator* (const CRealNumber &v) const |
[計算] 掛算. [詳解] | |
CValueUnitT< U1 > | operator* (const CValueUnitT< U2 > &t) const |
[計算] 掛算 (分子単位 = 本クラス × 分母単位). [詳解] | |
CValueParUnitT & | operator*= (const CRealNumber &v) |
[計算] 掛算代入. [詳解] | |
CValueParUnitT | operator+ (const CRealNumber &v) const |
[計算] 加算. [詳解] | |
CValueParUnitT | operator+ (const CValueParUnitT &u) const |
[計算] 加算. [詳解] | |
CValueParUnitT & | operator+= (const CRealNumber &v) |
[計算] 加算代入. [詳解] | |
CValueParUnitT & | operator+= (const CValueParUnitT &u) |
[計算] 単位付値加算代入. [詳解] | |
CValueParUnitT | operator- (const CRealNumber &v) const |
[計算] 減算. [詳解] | |
CValueParUnitT | operator- (const CValueParUnitT &u) const |
[計算] 単位付値減算. [詳解] | |
CValueParUnitT & | operator-= (const CRealNumber &v) |
[計算] 減算代入. [詳解] | |
CValueParUnitT & | operator-= (const CValueParUnitT &u) |
[計算] 単位付値減算代入. [詳解] | |
CValueParUnitT | operator/ (const CRealNumber &v) const |
[計算] 割算. [詳解] | |
CRealNumber | operator/ (const CValueParUnitT &u) const |
[計算] 割算 (値 = 本クラス ÷ 本クラス). [詳解] | |
CValueParUnitT & | operator/= (const CRealNumber &v) |
[計算] 割算代入. [詳解] | |
bool | operator< (const CValueParUnitT &t) const |
[確認] 比較 [詳解] | |
bool | operator<= (const CValueParUnitT &t) const |
[確認] 比較 [詳解] | |
bool | operator== (const CValueParUnitT &t) const |
[確認] 比較 [詳解] | |
bool | operator> (const CValueParUnitT &t) const |
[確認] 比較 [詳解] | |
bool | operator>= (const CValueParUnitT &t) const |
[確認] 比較 [詳解] | |
void | Set (const CRealNumber &v) |
[代入] 値、単位設定 指定の値を記憶します。単位は変化しません。 [詳解] | |
void | Set (const CRealNumber &v, CExCode code) |
[代入] 値、単位設定 指定の値、単位を記憶します。 [詳解] | |
void | Set (const CRealNumber &v, CNumeCode c1, CDenoCode c2) |
[代入] 値、単位設定 指定の値、単位を記憶します。 [詳解] | |
CValueParUnitT & | ToDenoUnit (CDenoCode code) |
[変換] 単位変更. [詳解] | |
void | ToNormalUnit (void) |
[変換] 単位変更 (基本単位へ). [詳解] | |
CStr | ToString (CExCode code, LPCTSTR lpszFormat=NULL) const |
[取得] 文字列で取得 (拡張単位指定あり) [詳解] | |
CStr | ToString (CNumeCode c1, CDenoCode c2, LPCTSTR lpszFormat=NULL) const |
[取得] 文字列で取得 (拡張単位指定あり) [詳解] | |
CStr | ToString (LPCTSTR lpszFormat=NULL) const |
[取得] 文字列で取得 [詳解] | |
CValueParUnitT & | ToUnit (CExCode code) |
[変換] 単位変更. [詳解] | |
CValueParUnitT & | ToUnit (CNumeCode c1, CDenoCode c2) |
[変換] 単位変更. [詳解] | |
静的公開メンバ関数 | |
static const TUnitParam * | GetPfParam (EPfUnitCode code) |
[取得] 接頭単位コードパラメータ取得 [詳解] | |
static DWORD | GetUnitKindCode (void) |
[取得] 単位種コード取得 [詳解] | |
static CStr | GetUnitKindString (void) |
[取得] 単位種文字列取得 [詳解] | |
単位付値管理テンプレートクラス
型に単位管理クラスを2つ指定することで、その単位と値を扱うクラスになります。
U1 | 分子になる単位管理クラス。これが分子単位コードになります。 |
U2 | 分母になる単位管理クラス。これが分母単位コードになります。 |
EX | ベース専用の単位管理クラス。これが拡張単位コードになります。 |
TnbValueParUnit.h の 55 行目に定義があります。
anonymous enum |
単位種コード
TnbValueParUnit.h の 186 行目に定義があります。
|
inherited |
接頭単位コード.
TnbValueUnit.h の 114 行目に定義があります。
CValueParUnitT | ( | void | ) |
CValueParUnitT | ( | const CRealNumber & | v | ) |
CValueParUnitT | ( | const CRealNumber & | v, |
CExCode | code | ||
) |
CValueParUnitT | ( | const CRealNumber & | v, |
CNumeCode | c1, | ||
CDenoCode | c2 | ||
) |
CDenoCode GetDenoUnitCode | ( | void | ) | const |
[取得] 分母単位コード取得.
現在保持している分母単位コードを得ます。 本インスタンスが拡張単位を保持している場合、戻り値は無意味です。
TnbValueParUnit.h の 336 行目に定義があります。
|
staticinherited |
[取得] 接頭単位コードパラメータ取得
code | 接頭単位コード |
CNoSuchTypeException | コード値異常の時、スローされます。 |
TnbValueUnit.h の 154 行目に定義があります。
CNumeCode GetUnitCode | ( | void | ) | const |
CStr GetUnitJapanString | ( | void | ) | const |
|
static |
|
static |
CStr GetUnitMarkString | ( | void | ) | const |
CRealNumber GetValue | ( | CExCode | code | ) | const |
CRealNumber GetValue | ( | CNumeCode | c1, |
CDenoCode | c2 | ||
) | const |
[取得] 値取得 (単位指定).
保持している値を、指定単位に計算して返します。
c1 | 分子単位コード。 |
c2 | 分母単位コード。 |
TnbValueParUnit.h の 480 行目に定義があります。
CRealNumber GetValue | ( | void | ) | const |
bool HasExCode | ( | void | ) | const |
[確認] 単位コード確認.
現在保持している単位コードが、拡張単位コードか否かを確認します。
true | 拡張単位コードを保持している。 |
false | 保持していない。 |
TnbValueParUnit.h の 315 行目に定義があります。
bool operator!= | ( | const CValueParUnitT< U1, U2, EX > & | t | ) | const |
[確認] 比較
t | 比較対象 |
true | 自分は t と異なる |
false | 自分は t と同じ |
TnbValueParUnit.h の 726 行目に定義があります。
CValueParUnitT operator* | ( | const CRealNumber & | v | ) | const |
CValueUnitT< U1 > operator* | ( | const CValueUnitT< U2 > & | t | ) | const |
CValueParUnitT & operator*= | ( | const CRealNumber & | v | ) |
CValueParUnitT operator+ | ( | const CRealNumber & | v | ) | const |
CValueParUnitT operator+ | ( | const CValueParUnitT< U1, U2, EX > & | u | ) | const |
CValueParUnitT & operator+= | ( | const CRealNumber & | v | ) |
CValueParUnitT & operator+= | ( | const CValueParUnitT< U1, U2, EX > & | u | ) |
CValueParUnitT operator- | ( | const CRealNumber & | v | ) | const |
CValueParUnitT operator- | ( | const CValueParUnitT< U1, U2, EX > & | u | ) | const |
CValueParUnitT & operator-= | ( | const CRealNumber & | v | ) |
CValueParUnitT & operator-= | ( | const CValueParUnitT< U1, U2, EX > & | u | ) |
CValueParUnitT operator/ | ( | const CRealNumber & | v | ) | const |
CRealNumber operator/ | ( | const CValueParUnitT< U1, U2, EX > & | u | ) | const |
[計算] 割算 (値 = 本クラス ÷ 本クラス).
u | 本クラスの値。 |
TnbValueParUnit.h の 705 行目に定義があります。
CValueParUnitT & operator/= | ( | const CRealNumber & | v | ) |
bool operator< | ( | const CValueParUnitT< U1, U2, EX > & | t | ) | const |
[確認] 比較
t | 比較対象 |
true | 自分は t より小さい |
false | 自分は t と同じか大きい |
TnbValueParUnit.h の 735 行目に定義があります。
bool operator<= | ( | const CValueParUnitT< U1, U2, EX > & | t | ) | const |
[確認] 比較
t | 比較対象 |
true | 自分は t と同じか小さい |
false | 自分は t より大きい |
TnbValueParUnit.h の 744 行目に定義があります。
bool operator== | ( | const CValueParUnitT< U1, U2, EX > & | t | ) | const |
[確認] 比較
t | 比較対象 |
true | 自分は t と同じ |
false | 自分は t と異なる |
TnbValueParUnit.h の 717 行目に定義があります。
bool operator> | ( | const CValueParUnitT< U1, U2, EX > & | t | ) | const |
[確認] 比較
t | 比較対象 |
true | 自分は t より大きい |
false | 自分は t と同じか小さい |
TnbValueParUnit.h の 753 行目に定義があります。
bool operator>= | ( | const CValueParUnitT< U1, U2, EX > & | t | ) | const |
[確認] 比較
t | 比較対象 |
true | 自分は t と同じか大きい |
false | 自分は t より小さい |
TnbValueParUnit.h の 762 行目に定義があります。
void Set | ( | const CRealNumber & | v | ) |
void Set | ( | const CRealNumber & | v, |
CExCode | code | ||
) |
void Set | ( | const CRealNumber & | v, |
CNumeCode | c1, | ||
CDenoCode | c2 | ||
) |
CValueParUnitT & ToDenoUnit | ( | CDenoCode | code | ) |
[変換] 単位変更.
code | 分母単位コード。 |
TnbValueParUnit.h の 429 行目に定義があります。
void ToNormalUnit | ( | void | ) |
CStr ToString | ( | CExCode | code, |
LPCTSTR | lpszFormat = NULL |
||
) | const |
[取得] 文字列で取得 (拡張単位指定あり)
code | 拡張単位コード。 |
lpszFormat | printf()で double 一つを表示する場合のフォーマットを指定。省略すると "%f" になります。 |
TnbValueParUnit.h の 286 行目に定義があります。
CStr ToString | ( | CNumeCode | c1, |
CDenoCode | c2, | ||
LPCTSTR | lpszFormat = NULL |
||
) | const |
[取得] 文字列で取得 (拡張単位指定あり)
c1 | 分子単位コード。 |
c2 | 分母単位コード。 |
lpszFormat | printf()で double 一つを表示する場合のフォーマットを指定。省略すると "%f" になります。 |
TnbValueParUnit.h の 302 行目に定義があります。
CStr ToString | ( | LPCTSTR | lpszFormat = NULL | ) | const |
[取得] 文字列で取得
lpszFormat | printf()で double 一つを表示する場合のフォーマットを指定。省略すると "%f" になります。 |
TnbValueParUnit.h の 273 行目に定義があります。
CValueParUnitT & ToUnit | ( | CExCode | code | ) |
[変換] 単位変更.
code | 拡張単位コード。 |
TnbValueParUnit.h の 404 行目に定義があります。
CValueParUnitT & ToUnit | ( | CNumeCode | c1, |
CDenoCode | c2 | ||
) |
[変換] 単位変更.
c1 | 分子単位コード。 |
c2 | 分母単位コード。 |
TnbValueParUnit.h の 417 行目に定義があります。