AM Daemon ライブラリリファレンス
公開メンバ関数 | 静的公開メンバ関数 | 公開変数類 | 静的公開変数類 | 関連関数 | 全メンバ一覧
amdaemon::AccessCode 構造体

アクセスコード値構造体。 [詳解]

#include <AccessCode.h>

公開メンバ関数

bool valid () const
 有効なアクセスコードであるか否かを取得する。 [詳解]
 
int getDigit (std::size_t digitIndex) const
 指定した桁位置の数値を取得する。 [詳解]
 
std::wstring toString (const wchar_t *separator=nullptr) const
 文字列表現値を作成する。 [詳解]
 

静的公開メンバ関数

static const AccessCodezero ()
 すべての桁が 0 であるアクセスコード値を取得する。 [詳解]
 
static bool canMake (const std::uint8_t(&values)[Size])
 アクセスコード値を作成可能なBCD形式データであるか否かを調べる。 [詳解]
 
static AccessCode make (const std::uint8_t(&values)[Size])
 BCD形式データからアクセスコード値を作成する。 [詳解]
 
static bool canMake (const wchar_t *src, const wchar_t *separator=nullptr)
 アクセスコード値を作成可能なアクセスコード文字列であるか否かを調べる。 [詳解]
 
static AccessCode make (const wchar_t *src, const wchar_t *separator=nullptr)
 アクセスコード文字列からアクセスコード値を作成する。 [詳解]
 
static AccessCode makeInvalid ()
 無効なアクセスコード値を作成する。 [詳解]
 

公開変数類

std::uint8_t values [Size]
 内部値。4ビットごとに1桁を表すBCD形式データ。AiMeLib互換。 [詳解]
 

静的公開変数類

static const std::size_t DigitCount
 桁数。 [詳解]
 
static const std::size_t Size
 BCD形式データサイズ。 [詳解]
 

関連関数

(これらはメソッドではありません)

bool operator== (const AccessCode &l, const AccessCode &r)
 等価比較演算子のオーバロード。 [詳解]
 
bool operator!= (const AccessCode &l, const AccessCode &r)
 非等価比較演算子のオーバロード。 [詳解]
 
bool operator< (const AccessCode &l, const AccessCode &r)
 小なり比較演算子のオーバロード。 [詳解]
 
bool operator> (const AccessCode &l, const AccessCode &r)
 大なり比較演算子のオーバロード。 [詳解]
 
bool operator<= (const AccessCode &l, const AccessCode &r)
 小なり等価比較演算子のオーバロード。 [詳解]
 
bool operator>= (const AccessCode &l, const AccessCode &r)
 大なり等価比較演算子のオーバロード。 [詳解]
 

詳解

アクセスコード値構造体。

覚え書き
memcpy 可能。

AiMeLibの AiMeDef::AccessCode 構造体とバイナリ互換である。

関数詳解

static const AccessCode& amdaemon::AccessCode::zero ( )
static

すべての桁が 0 であるアクセスコード値を取得する。

戻り値
すべての桁が 0 であるアクセスコード値。
static bool amdaemon::AccessCode::canMake ( const std::uint8_t(&)  values[Size])
static

アクセスコード値を作成可能なBCD形式データであるか否かを調べる。

引数
[in]valuesBCD形式データ。AiMeLib互換。
戻り値
true作成可能である場合。
false作成不可能である場合。
参照
make(const std::uint8_t (&)[Size])

この関数が true を返す場合、同じ引数を静的メンバ関数 make(const std::uint8_t (&)[Size]) に渡すことで、 例外を発生させることなくアクセスコード値を作成可能であることが保証される。

static AccessCode amdaemon::AccessCode::make ( const std::uint8_t(&)  values[Size])
static

BCD形式データからアクセスコード値を作成する。

引数
[in]valuesBCD形式データ。AiMeLib互換。
戻り値
作成されたアクセスコード値。
参照
canMake(const std::uint8_t (&)[Size])
例外
Exception引数 values に不正な値を指定した場合。
static bool amdaemon::AccessCode::canMake ( const wchar_t *  src,
const wchar_t *  separator = nullptr 
)
static

アクセスコード値を作成可能なアクセスコード文字列であるか否かを調べる。

引数
[in]srcアクセスコード文字列。 "01031234567812345678" 等。
[in]separatorセパレータとして認識する文字列。既定の処理を行わせるならば nullptr 。
戻り値
true作成可能である場合。
false作成不可能である場合。
参照
make(const wchar_t*, const wchar_t*)

この関数が true を返す場合、同じ引数を静的メンバ関数 make(const wchar_t*, const wchar_t*) に渡すことで、 例外を発生させることなくアクセスコード値を作成可能であることが保証される。

static AccessCode amdaemon::AccessCode::make ( const wchar_t *  src,
const wchar_t *  separator = nullptr 
)
static

アクセスコード文字列からアクセスコード値を作成する。

引数
[in]srcアクセスコード文字列。 "01031234567812345678" 等。
[in]separatorセパレータとして認識する文字列。既定の処理を行わせるならば nullptr 。
戻り値
作成されたアクセスコード値。
例外
Exception
  • 引数 src に nullptr を指定した場合。
  • 引数 src に無効な文字が含まれる場合。
  • 引数 src 内の数字個数が DigitCount と等しくない場合。

引数 src 内の文字 '0' 〜 '9' を用いてアクセスコード値を作成する。

引数 separator の扱いは次の通り。

  • separator が既定値 nullptr である場合、半角スペースおよびタブ文字を無視する。 先頭および末尾にある場合や、連続している場合も無視される。
  • separator が空文字列である場合、数字以外のあらゆる文字は無効となる。
  • separator が nullptr 以外かつ空文字列以外である場合、 指定された文字列をセパレータとして認識する。
    • 先頭および末尾に現れてはならない。
    • 連続していてはならない。
    • 上記要件を満たしていればセパレータの位置および個数は任意。
    • セパレータ文字列に数字が含まれていてもセパレータの判定が優先される。
static AccessCode amdaemon::AccessCode::makeInvalid ( )
static

無効なアクセスコード値を作成する。

戻り値
無効なアクセスコード値。
bool amdaemon::AccessCode::valid ( ) const

有効なアクセスコードであるか否かを取得する。

戻り値
true有効なアクセスコードである場合。
false無効なアクセスコードである場合。
int amdaemon::AccessCode::getDigit ( std::size_t  digitIndex) const

指定した桁位置の数値を取得する。

引数
[in]digitIndex桁位置。先頭が 0 。 0 以上 DigitCount 未満。
戻り値
数値。有効なアクセスコードならば 0 以上 9 以下。
例外
引数digitIndex に DigitCount 以上の値を指定した場合。

無効なアクセスコードであっても構わず算出する。 そのため無効なアクセスコードでは範囲外の値が返る場合がある。

std::wstring amdaemon::AccessCode::toString ( const wchar_t *  separator = nullptr) const

文字列表現値を作成する。

引数
[in]separator4桁ごとのセパレータ文字列。区切らないならば nullptr 。
戻り値
文字列表現値。

無効なアクセスコードであっても構わず文字列を作成する。 その際、無効な桁は16進数文字('A' 〜 'F')となる。

フレンドと関連関数の詳解

bool operator== ( const AccessCode l,
const AccessCode r 
)
related

等価比較演算子のオーバロード。

引数
[in]l左辺値。
[in]r右辺値。
戻り値
比較結果値。
bool operator!= ( const AccessCode l,
const AccessCode r 
)
related

非等価比較演算子のオーバロード。

引数
[in]l左辺値。
[in]r右辺値。
戻り値
比較結果値。
bool operator< ( const AccessCode l,
const AccessCode r 
)
related

小なり比較演算子のオーバロード。

引数
[in]l左辺値。
[in]r右辺値。
戻り値
比較結果値。
bool operator> ( const AccessCode l,
const AccessCode r 
)
related

大なり比較演算子のオーバロード。

引数
[in]l左辺値。
[in]r右辺値。
戻り値
比較結果値。
bool operator<= ( const AccessCode l,
const AccessCode r 
)
related

小なり等価比較演算子のオーバロード。

引数
[in]l左辺値。
[in]r右辺値。
戻り値
比較結果値。
bool operator>= ( const AccessCode l,
const AccessCode r 
)
related

大なり等価比較演算子のオーバロード。

引数
[in]l左辺値。
[in]r右辺値。
戻り値
比較結果値。

メンバ詳解

const std::size_t amdaemon::AccessCode::DigitCount
static

桁数。

const std::size_t amdaemon::AccessCode::Size
static

BCD形式データサイズ。

std::uint8_t amdaemon::AccessCode::values[Size]

内部値。4ビットごとに1桁を表すBCD形式データ。AiMeLib互換。


この構造体詳解は次のファイルから抽出されました: