AM Daemon ライブラリリファレンス
StaticAssert.h
[詳解]
1 /// @file
2 /// @brief コンパイル時アサートマクロを定義するヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_UTIL_STATICASSERT_H
7 #define AMDAEMON_UTIL_STATICASSERT_H
8 
9 #include "amdaemon/env.h"
10 #include "amdaemon/util/misc.h"
11 
12 /// @addtogroup g_util
13 /// @{
14 
15 /// @brief 引数が偽であればコンパイルエラーとする。
16 /// @param[in] flag 検証する真偽値。
17 #define AMDAEMON_STATIC_ASSERT(flag) static_assert(flag, #flag)
18 
19 /// @brief 引数が偽であればコンパイルエラーとし、指定したメッセージを表示する。
20 /// @param[in] flag 検証する真偽値。
21 /// @param[in] msg コンパイルエラー時に表示するメッセージ。
22 #define AMDAEMON_STATIC_ASSERT_MSG(flag,msg) static_assert(flag, msg)
23 
24 /// @brief 組み込み配列の要素数が等しくなければコンパイルエラーとする。
25 /// @param[in] arr 組み込み配列。
26 /// @param[in] size 期待する要素数。
27 #define AMDAEMON_STATIC_ARRAYSIZE_ASSERT(arr,size) ¥
28  AMDAEMON_STATIC_ASSERT(AMDAEMON_ARRAYSIZE(arr) == (size))
29 
30 /// @}
31 
32 #endif // AMDAEMON_UTIL_STATICASSERT_H
雑多なインライン関数やマクロを定義するヘッダ。
Daemonライブラリの環境定義を行うヘッダ。