M
M
MWX Library
検索…
MWX_APIRET
32bit型をラップしたAPI戻り値クラス。MSB(bit31)は失敗、成功のフラグ。bit0..30は戻り値を格納するために使用します。
1
class MWX_APIRET {
2
uint32_t _code;
3
public:
4
MWX_APIRET() : _code(0) {}
5
MWX_APIRET(bool b) {
6
_code = b ? 0x80000000 : 0;
7
}
8
MWX_APIRET(bool b, uint32_t val) {
9
_code = (b ? 0x80000000 : 0) + (val & 0x7fffffff);
10
}
11
inline bool is_success() const { return ((_code & 0x80000000) != 0); }
12
inline bool is_fail() const { return ((_code & 0x80000000) == 0); }
13
inline uint32_t get_value() const { return _code & 0x7fffffff; }
14
inline operator uint32_t() const { return get_value(); }
15
inline operator bool() const { return is_success(); }
16
};
Copied!

コンストラクタ

1
MWX_APIRET()
2
MWX_APIRET(bool b)
3
MWX_APIRET(bool b, uint32_t val)
Copied!
デフォルトコンストラクタはfalse,0の組み合わせで構築します。
またbool型とuint32_t型をパラメータとする明示的な構築も可能です。
bool型のコンストラクタを実装しているため、以下のようにtrue/falseを用いることができます。
1
MWX_APIRET myfunc() {
2
if (...) return true;
3
else false;
4
}
Copied!

メソッド

is_success(), operator bool()

1
inline bool is_success()
2
inline operator bool()
Copied!
MSBに1がセットされていればtrueを返す。
1
inline bool is_fail()
Copied!
MSBが0の場合にtrueを返す。
1
inline uint32_t get_value()
2
inline operator uint32_t()
Copied!
bit0..30の値部を取得する。
最終更新 1yr ago