nlib
Config.h ファイル

開発環境別の設定が書かれるファイルです。 [詳解]

#include "nn/nlib/Platform.h"
#include "nn/nlib/Config_linux.h"
#include <wchar.h>
#include <utility>

[ソースコード]

クラス

struct  nn::nlib::move_tag
 空の構造体で、関数の引数をムーブすべきことを示すために利用されます。 [詳解]
 

名前空間

 nn::nlib
 共通して使われる機能やプラットフォームへの依存度が高い機能が実装されます。 nlib Platform APIs も御覧ください。nlib_nsはエイリアスです。
 

マクロ定義

#define NLIB_CEXPR   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_STATIC_ASSERT(exp)   static_assert((exp), "NLIB_STATIC_ASSERT error: " #exp)
 静的アサートが定義されます。利用可能であればstatic_assertを利用します。 [詳解]
 
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
 TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。 [詳解]
 
#define NLIB_SAFE_BOOL(class_name, exp)
 クラス内に安全なoperator bool()を定義します。 可能であればC++11のexplicit boolを利用します。 [詳解]
 
#define NLIB_OVERRIDE   override
 利用可能であればoverrideが定義されます。そうでない場合は空文字列です。
 
#define NLIB_FINAL   final
 利用可能であればfinalが定義されます。そうでない場合は空文字列です。
 
#define NLIB_ALIGNAS(x)   alignas(x)
 alignas(x)又は同等の定義がされます。 [詳解]
 
#define NLIB_ALIGNOF(tp)   alignof(tp)
 alignof(tp)又は同等の定義がされます。 [詳解]
 
#define NLIB_NOEMPTYFILE()
 何らかの理由で空となるファイルに記述することで、MSVCのLinker warning 4221を抑制することができます。
 

型定義

typedef nlib_utf16_t nn::nlib::utf16_t
 UTF16の文字に対する型です。 nlib_utf16_ttypedefされています。
 
typedef nlib_utf32_t nn::nlib::utf32_t
 UTF32の文字に対する型です。 nlib_utf32_ttypedefされています。
 

詳解

開発環境別の設定が書かれるファイルです。

Config.h に定義があります。