3 #ifndef INCLUDE_NN_NLIB_HEAP_CACHEDHEAP_H_
4 #define INCLUDE_NN_NLIB_HEAP_CACHEDHEAP_H_
7 #include "nn/nlib/Swap.h"
9 #if defined(_MSC_VER) && defined(nx_heap_EXPORTS)
10 #undef NLIB_VIS_PUBLIC
11 #define NLIB_VIS_PUBLIC NLIB_WINEXPORT
26 swap(m_Body, rhs.m_Body);
40 void ReleaseAllCache() NLIB_NOEXCEPT;
41 void Finalize() NLIB_NOEXCEPT;
42 bool CheckCache() NLIB_NOEXCEPT;
58 NLIB_DEFINE_STD_SWAP(::
nlib_ns::heap::CachedHeap)
60 #if defined(_MSC_VER) && defined(nx_heap_EXPORTS)
61 #undef NLIB_VIS_PUBLIC
62 #define NLIB_VIS_PUBLIC NLIB_WINIMPORT
65 #endif // INCLUDE_NN_NLIB_HEAP_CACHEDHEAP_H_
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
#define NLIB_SAFE_BOOL(class_name, exp)
クラス内に安全なoperator bool()を定義します。 可能であればC++11のexplicit boolを利用します。 ...
~CachedHeap() noexcept
デストラクタです。Finalize()を呼び出します。
void swap(CachedHeap &rhs) noexcept
オブジェクトの内容をスワップします。
CachedHeap() noexcept
デフォルトコンストラクタです。
共通して使われる機能やプラットフォームへの依存度が高い機能が実装されます。 nlib Platform APIs も御覧...
CentralHeapと対になって利用されるスレッド専用キャッシュクラスです。