3 #ifndef INCLUDE_NN_NLIB_HEAP_UNITHEAP_H_ 4 #define INCLUDE_NN_NLIB_HEAP_UNITHEAP_H_ 8 #if defined(_MSC_VER) && defined(nx_heap_EXPORTS) 10 #define NLIB_VIS_PUBLIC NLIB_WINEXPORT 18 typedef void (*DestructorHandler)(
void* start,
void* end);
24 (*handler_)(start_, end_);
27 errno_t Init(
void* start,
size_t size, DestructorHandler handler,
size_t unit,
31 size_t GetUnitSize() const NLIB_NOEXCEPT {
return unit_size_; }
42 size_t baseunit_count_;
45 size_t allocated_count_;
47 uint32_t heap_option_;
50 DestructorHandler handler_;
56 #if defined(_MSC_VER) && defined(nx_heap_EXPORTS) 57 #undef NLIB_VIS_PUBLIC 58 #define NLIB_VIS_PUBLIC NLIB_WINIMPORT 61 #endif // INCLUDE_NN_NLIB_HEAP_UNITHEAP_H_ size_t GetUnitCount() const noexcept
このヒープからアロケートできる領域の個数を返します。
固定メモリサイズの領域を確保・解放するためのヒープです。所謂プールアロケータです。 ...
size_t GetAllocatedCount() const noexcept
現在このヒープから確保されている領域の個数を返します。
size_t GetUnitSize() const noexcept
このヒープからアロケートされる領域の1つあたりのサイズを返します。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。