nlib
|
misc
ライブラリで定義されているマクロです。
[詳解]
マクロ定義 | |
#define | NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName) |
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。 [詳解] | |
#define | NLIB_NOEMPTYFILE() |
何らかの理由で空となるファイルに記述することで、MSVCのLinker warning 4221を抑制することができます。 | |
#define | NLIB_FINAL final |
利用可能であればfinal が定義されます。そうでない場合は空文字列です。 | |
#define | NLIB_OVERRIDE override |
利用可能であればoverride が定義されます。そうでない場合は空文字列です。 | |
#define | NLIB_STATIC_ASSERT(exp) static_assert((exp), "NLIB_STATIC_ASSERT error: " #exp) |
静的アサートが定義されます。利用可能であればstatic_assert を利用します。 [詳解] | |
#define | NLIB_ALIGNAS(x) alignas(x) |
alignas(x) 又は同等の定義がされます。 [詳解] | |
#define | NLIB_ALIGNOF(tp) alignof(tp) |
alignof(tp) 又は同等の定義がされます。 [詳解] | |
#define | NLIB_CEXPR constexpr |
利用可能であればconstexpr が定義されます。そうでない場合は空文字列です。 | |
#define | NLIB_CEXPR14 constexpr |
C++14のconstexpr が利用可能であればconstexpr が定義されます。そうでない場合は空文字列です。 | |
#define | NLIB_TRY if (true) |
例外が有効なときはtry , そうでなければif (true) が定義されます。 | |
#define | NLIB_CATCH(x) if (false) |
例外が有効なときはcatch(x) , そうでなければif (true) が定義されます。 [詳解] | |
#define | NLIB_THROW |
例外が有効なときはthrow , そうでなければ空白が定義されます。 | |
#define | NLIB_SAFE_BOOL(class_name, exp) |
クラス内に安全なoperator bool() を定義します。 可能であればC++11のexplicit bool を利用します。 [詳解] | |
#define | NLIB_NOEXCEPT noexcept |
環境に合わせてnoexcept 又は同等の定義がされます。 [詳解] | |
Nflagsで利用するマクロ | |
利用方法については | |
#define | NLIB_FLAGS_DEFINE_bool(opt_name, def_value, desc) |
bool 値を持つコマンドラインオプションを定義します。 [詳解] | |
#define | NLIB_FLAGS_DEFINE_int32(opt_name, def_value, desc) |
bool 値を持つコマンドラインオプションを定義します。 [詳解] | |
#define | NLIB_FLAGS_DEFINE_double(opt_name, def_value, desc) |
bool 値を持つコマンドラインオプションを定義します。 [詳解] | |
#define | NLIB_FLAGS_DEFINE_string(opt_name, def_value, desc) |
bool 値を持つコマンドラインオプションを定義します。 [詳解] | |
#define | NLIB_FLAGS_DECLARE_bool(opt_name) extern bool NLIB_FLAGS_##opt_name |
別の場所で定義された、NLIB_FLAGS_オプション名、を利用できるようにします。 [詳解] | |
#define | NLIB_FLAGS_DECLARE_int32(opt_name) extern int32_t NLIB_FLAGS_##opt_name |
別の場所で定義された、NLIB_FLAGS_オプション名、を利用できるようにします。 [詳解] | |
#define | NLIB_FLAGS_DECLARE_double(opt_name) extern double NLIB_FLAGS_##opt_name |
別の場所で定義された、NLIB_FLAGS_オプション名、を利用できるようにします。 [詳解] | |
#define | NLIB_FLAGS_DECLARE_string(opt_name) extern const char* NLIB_FLAGS_##opt_name |
別の場所で定義された、NLIB_FLAGS_オプション名、を利用できるようにします。 [詳解] | |
misc
ライブラリで定義されているマクロです。
NLIB_ALIGNAS | ( | x | ) | alignas(x) |
alignas(x)
又は同等の定義がされます。
[in] | x | バイト数 |
Platform | Definition |
---|---|
Win32 | __declspec(align(x)) |
Linux | alignas(x) or __attribute__((aligned(x))) |
FreeBSD | alignas(x) |
OS X | alignas(x) |
CAFE | __attribute__((aligned(x))) |
CTR | __align(x) |
NLIB_ALIGNOF | ( | tp | ) | alignof(tp) |
alignof(tp)
又は同等の定義がされます。
[in] | tp | 型 |
Platform | Definition |
---|---|
Win32 | __alignof(tp) |
Linux | alignof(tp) or __alignof__(tp) |
FreeBSD | alignof(tp) |
OS X | alignof(tp) |
CAFE | __alignof__(tp) |
CTR | __alignof__(tp) |
NLIB_CATCH | ( | x | ) | if (false) |
NLIB_DISALLOW_COPY_AND_ASSIGN | ( | TypeName | ) |
TypeName
で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
[in] | TypeName | クラス名 |
NLIB_FLAGS_DECLARE_bool | ( | opt_name | ) | extern bool NLIB_FLAGS_##opt_name |
NLIB_FLAGS_DECLARE_double | ( | opt_name | ) | extern double NLIB_FLAGS_##opt_name |
NLIB_FLAGS_DECLARE_int32 | ( | opt_name | ) | extern int32_t NLIB_FLAGS_##opt_name |
NLIB_FLAGS_DECLARE_string | ( | opt_name | ) | extern const char* NLIB_FLAGS_##opt_name |
NLIB_FLAGS_DEFINE_bool | ( | opt_name, | |
def_value, | |||
desc | |||
) |
bool
値を持つコマンドラインオプションを定義します。
[in] | opt_name | オプション名 |
[in] | def_value | コマンドラインオプションのデフォルト値(bool 型の値) |
[in] | desc | オプションの説明が記述された文字列リテラル |
--opt_value
, --opt_value=[true/false]
等でブール値を指定することができます。 NLIB_FLAGS_DEFINE_double | ( | opt_name, | |
def_value, | |||
desc | |||
) |
bool
値を持つコマンドラインオプションを定義します。
[in] | opt_name | オプション名 |
[in] | def_value | コマンドラインオプションのデフォルト値(double 型の値) |
[in] | desc | オプションの説明が記述された文字列リテラル |
--opt_value=1.1
等で倍精度浮動小数型の値を指定することができます。 NLIB_FLAGS_DEFINE_int32 | ( | opt_name, | |
def_value, | |||
desc | |||
) |
bool
値を持つコマンドラインオプションを定義します。
[in] | opt_name | オプション名 |
[in] | def_value | コマンドラインオプションのデフォルト値(int32_t 型の値) |
[in] | desc | オプションの説明が記述された文字列リテラル |
--opt_value=1
等で整数値を指定することができます。 NLIB_FLAGS_DEFINE_string | ( | opt_name, | |
def_value, | |||
desc | |||
) |
bool
値を持つコマンドラインオプションを定義します。
[in] | opt_name | オプション名 |
[in] | def_value | コマンドラインオプションのデフォルト値(文字列リテラル) |
[in] | desc | オプションの説明が記述された文字列リテラル |
このマクロを利用するとNLIB_FLAGS_オプション名、という変数が定義されます。--opt_value=A,B,C
等で文字列を指定することができます。
NLIB_NOEXCEPT noexcept |
環境に合わせてnoexcept 又は同等の定義がされます。
Platform | Definition |
---|---|
Win32 | throw() |
Linux | noexcept or throw() |
FreeBSD | noexcept |
OS X | noexcept |
CAFE | 空文字列 |
CTR | 空文字列 |
NLIB_SAFE_BOOL | ( | class_name, | |
exp | |||
) |
クラス内に安全なoperator bool()
を定義します。 可能であればC++11のexplicit bool
を利用します。
[in] | class_name | クラス名 |
[in] | exp | 評価式 |
NLIB_STATIC_ASSERT | ( | exp | ) | static_assert((exp), "NLIB_STATIC_ASSERT error: " #exp) |
静的アサートが定義されます。利用可能であればstatic_assert
を利用します。
[in] | exp | 評価式 |
© Nintendo Co., Ltd. All rights reserved.