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 又は同等の定義がされます。 [詳解]
|
|
misc
ライブラリで定義されているマクロです。
- 説明
- Nflags.h を利用する場合に利用するマクロが主に定義されています。
◆ NLIB_ALIGNAS
NLIB_ALIGNAS |
( |
|
x | ) |
alignas(x) |
◆ NLIB_ALIGNOF
NLIB_ALIGNOF |
( |
|
tp | ) |
alignof(tp) |
alignof(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) |
- 各種例:
- heap/gameheap/gameheap_appcode.cpp.
Config.h の 256 行目に定義があります。
◆ NLIB_CATCH
NLIB_CATCH |
( |
|
x | ) |
if (false) |
例外が有効なときはcatch(x)
, そうでなければif (true)
が定義されます。
- 引数
-
Config.h の 143 行目に定義があります。
◆ NLIB_DISALLOW_COPY_AND_ASSIGN
NLIB_DISALLOW_COPY_AND_ASSIGN |
( |
|
TypeName | ) |
|
◆ NLIB_FLAGS_DECLARE_bool
NLIB_FLAGS_DECLARE_bool |
( |
|
opt_name | ) |
extern bool NLIB_FLAGS_##opt_name |
別の場所で定義された、NLIB_FLAGS_オプション名、を利用できるようにします。
- 引数
-
Nflags.h の 164 行目に定義があります。
◆ NLIB_FLAGS_DECLARE_double
NLIB_FLAGS_DECLARE_double |
( |
|
opt_name | ) |
extern double NLIB_FLAGS_##opt_name |
別の場所で定義された、NLIB_FLAGS_オプション名、を利用できるようにします。
- 引数
-
Nflags.h の 166 行目に定義があります。
◆ NLIB_FLAGS_DECLARE_int32
NLIB_FLAGS_DECLARE_int32 |
( |
|
opt_name | ) |
extern int32_t NLIB_FLAGS_##opt_name |
別の場所で定義された、NLIB_FLAGS_オプション名、を利用できるようにします。
- 引数
-
Nflags.h の 165 行目に定義があります。
◆ NLIB_FLAGS_DECLARE_string
NLIB_FLAGS_DECLARE_string |
( |
|
opt_name | ) |
extern const char* NLIB_FLAGS_##opt_name |
別の場所で定義された、NLIB_FLAGS_オプション名、を利用できるようにします。
- 引数
-
Nflags.h の 167 行目に定義があります。
◆ NLIB_FLAGS_DEFINE_bool
NLIB_FLAGS_DEFINE_bool |
( |
|
opt_name, |
|
|
|
def_value, |
|
|
|
desc |
|
) |
| |
値:bool NLIB_FLAGS_##opt_name; \
class NLIB_FLAGS_CL_##opt_name { \
public: \
NLIB_FLAGS_CL_##opt_name() { \
::nlib_ns::nflags::AddDefOptBool(#opt_name, def_value, desc, &NLIB_FLAGS_##opt_name); \
} \
} NLIB_FLAGS_CL_##opt_name##_
bool
値を持つコマンドラインオプションを定義します。
- 引数
-
[in] | opt_name | オプション名 |
[in] | def_value | コマンドラインオプションのデフォルト値(bool 型の値) |
[in] | desc | オプションの説明が記述された文字列リテラル |
- 説明
- このマクロを利用するとNLIB_FLAGS_オプション名、という変数が定義されます。
--opt_value
, --opt_value=[true/false]
等でブール値を指定することができます。
- 各種例:
- misc/nflags/nflags.cpp.
Nflags.h の 125 行目に定義があります。
◆ NLIB_FLAGS_DEFINE_double
NLIB_FLAGS_DEFINE_double |
( |
|
opt_name, |
|
|
|
def_value, |
|
|
|
desc |
|
) |
| |
値:double NLIB_FLAGS_##opt_name; \
class NLIB_FLAGS_CL_##opt_name { \
public: \
NLIB_FLAGS_CL_##opt_name() { \
::nlib_ns::nflags::AddDefOptDouble(#opt_name, def_value, desc, \
&NLIB_FLAGS_##opt_name); \
} \
} NLIB_FLAGS_CL_##opt_name##_
bool
値を持つコマンドラインオプションを定義します。
- 引数
-
[in] | opt_name | オプション名 |
[in] | def_value | コマンドラインオプションのデフォルト値(double 型の値) |
[in] | desc | オプションの説明が記述された文字列リテラル |
- 説明
- このマクロを利用するとNLIB_FLAGS_オプション名、という変数が定義されます。
--opt_value=1.1
等で倍精度浮動小数型の値を指定することができます。
Nflags.h の 144 行目に定義があります。
◆ NLIB_FLAGS_DEFINE_int32
NLIB_FLAGS_DEFINE_int32 |
( |
|
opt_name, |
|
|
|
def_value, |
|
|
|
desc |
|
) |
| |
値:int32_t NLIB_FLAGS_##opt_name; \
class NLIB_FLAGS_CL_##opt_name { \
public: \
NLIB_FLAGS_CL_##opt_name() { \
::nlib_ns::nflags::AddDefOptInt32(#opt_name, def_value, desc, \
&NLIB_FLAGS_##opt_name); \
} \
} NLIB_FLAGS_CL_##opt_name##_
bool
値を持つコマンドラインオプションを定義します。
- 引数
-
[in] | opt_name | オプション名 |
[in] | def_value | コマンドラインオプションのデフォルト値(int32_t 型の値) |
[in] | desc | オプションの説明が記述された文字列リテラル |
- 説明
- このマクロを利用するとNLIB_FLAGS_オプション名、という変数が定義されます。
--opt_value=1
等で整数値を指定することができます。
- 各種例:
- misc/nflags/nflags.cpp.
Nflags.h の 134 行目に定義があります。
◆ NLIB_FLAGS_DEFINE_string
NLIB_FLAGS_DEFINE_string |
( |
|
opt_name, |
|
|
|
def_value, |
|
|
|
desc |
|
) |
| |
値:const char* NLIB_FLAGS_##opt_name; \
class NLIB_FLAGS_CL_##opt_name { \
public: \
NLIB_FLAGS_CL_##opt_name() { \
::nlib_ns::nflags::AddDefOptString(#opt_name, def_value, desc, \
&NLIB_FLAGS_##opt_name); \
} \
} NLIB_FLAGS_CL_##opt_name##_
bool
値を持つコマンドラインオプションを定義します。
- 引数
-
[in] | opt_name | オプション名 |
[in] | def_value | コマンドラインオプションのデフォルト値(文字列リテラル) |
[in] | desc | オプションの説明が記述された文字列リテラル |
このマクロを利用するとNLIB_FLAGS_オプション名、という変数が定義されます。--opt_value=A,B,C
等で文字列を指定することができます。
- 各種例:
- misc/nflags/nflags.cpp.
Nflags.h の 154 行目に定義があります。
◆ NLIB_NOEXCEPT
◆ NLIB_SAFE_BOOL
NLIB_SAFE_BOOL |
( |
|
class_name, |
|
|
|
exp |
|
) |
| |
値:public: \
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
クラス内に安全なoperator bool()
を定義します。 可能であればC++11のexplicit bool
を利用します。
- 引数
-
[in] | class_name | クラス名 |
[in] | exp | 評価式 |
Config.h の 194 行目に定義があります。
◆ NLIB_STATIC_ASSERT
NLIB_STATIC_ASSERT |
( |
|
exp | ) |
static_assert((exp), "NLIB_STATIC_ASSERT error: " #exp) |