6 #ifndef AMDAEMON_ACCESSCODE_H 7 #define AMDAEMON_ACCESSCODE_H 38 static const std::size_t
Size = (DigitCount + 1) / 2;
56 static bool canMake(
const std::uint8_t (&values)[Size]);
78 static bool canMake(
const wchar_t* src,
const wchar_t* separator =
nullptr);
104 static AccessCode make(
const wchar_t* src,
const wchar_t* separator =
nullptr);
124 int getDigit(std::size_t digitIndex)
const;
132 std::wstring
toString(
const wchar_t* separator =
nullptr)
const;
205 template<
class T>
struct hash;
222 result_type
operator()(
const argument_type& accessCode)
const 226 return *
reinterpret_cast<const result_type*
>(accessCode.
values);
231 #endif // AMDAEMON_ACCESSCODE_H static bool canMake(const std::uint8_t(&values)[Size])
アクセスコード値を作成可能なBCD形式データであるか否かを調べる。
bool operator<=(const AccessCode &l, const AccessCode &r)
小なり等価比較演算子のオーバロード。
Definition: AccessCode.h:186
result_type operator()(const argument_type &accessCode) const
引数のハッシュ値を取得する。
Definition: AccessCode.h:222
static const std::size_t Size
BCD形式データサイズ。
Definition: AccessCode.h:38
std::uint8_t values[Size]
内部値。4ビットごとに1桁を表すBCD形式データ。AiMeLib互換。
Definition: AccessCode.h:41
bool operator>(const AccessCode &l, const AccessCode &r)
大なり比較演算子のオーバロード。
Definition: AccessCode.h:176
Definition: AccessCode.h:202
static const AccessCode & zero()
すべての桁が 0 であるアクセスコード値を取得する。
::amdaemon::AccessCode argument_type
引数の型。
Definition: AccessCode.h:217
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
bool valid() const
有効なアクセスコードであるか否かを取得する。
アクセスコード値構造体。
Definition: AccessCode.h:32
static const std::size_t DigitCount
桁数。
Definition: AccessCode.h:35
size_t result_type
戻り値の型。
Definition: AccessCode.h:214
static AccessCode make(const std::uint8_t(&values)[Size])
BCD形式データからアクセスコード値を作成する。
std::wstring toString(const wchar_t *separator=nullptr) const
文字列表現値を作成する。
static AccessCode makeInvalid()
無効なアクセスコード値を作成する。
int getDigit(std::size_t digitIndex) const
指定した桁位置の数値を取得する。
bool operator<(const AccessCode &l, const AccessCode &r)
小なり比較演算子のオーバロード。
Definition: AccessCode.h:166
bool operator!=(const AccessCode &l, const AccessCode &r)
非等価比較演算子のオーバロード。
Definition: AccessCode.h:156
#define AMDAEMON_STATIC_ASSERT(flag)
引数が偽であればコンパイルエラーとする。
Definition: StaticAssert.h:17
bool operator>=(const AccessCode &l, const AccessCode &r)
大なり等価比較演算子のオーバロード。
Definition: AccessCode.h:196
bool operator==(const AccessCode &l, const AccessCode &r)
等価比較演算子のオーバロード。
Definition: AccessCode.h:146