共用方式為


rts_alloc 類別

rts_alloc類別範本描述 保留快取實例陣列的篩選 ,並決定要在運行時間用於配置和解除分配的實例,而不是在編譯時期使用。

語法

template <class Cache>
class rts_alloc

參數

Cache
包含在陣列中的快取執行個體類型, 可以是 cache_chunklistcache_freelistcache_suballoc

備註

這個類別範本會保存多個區塊配置器實例,並決定要在運行時間用於配置或解除分配的實例,而不是在編譯時期使用。 它會搭配不可編譯重新繫結的編譯器使用。

成員函式

成員函數 描述
allocate 配置記憶體區塊。
deallocate 從指定位置起算的儲存體中,釋放指定數目的物件。
equals 比較兩個快取是否相等。

需求

Header:<allocators>

命名空間: stdext

rts_alloc::allocate

配置記憶體區塊。

void *allocate(std::size_t count);

參數

計數
要配置的陣列元素數目。

傳回值

所配置物件的指標。

備註

成員函式會傳 caches[_IDX].allocate(count)回 ,其中索引 _IDX 是由要求的區塊大小 計數所決定,或者,如果 計數 太大,則會傳 operator new(count)回 。 cache,代表快取物件。

rts_alloc::d eallocate

從指定位置起算的儲存體中,釋放指定數目的物件。

void deallocate(void* ptr, std::size_t count);

參數

ptr
要從儲存體解除配置之第一個物件的指標。

計數
要從儲存空間解除配置的物件數目。

備註

成員函式會呼叫 caches[_IDX].deallocate(ptr, count),其中索引 _IDX 是由要求的區塊大小 計數所決定,或者,如果 計數 太大,則會傳 operator delete(ptr)回 。

rts_alloc::equals

比較兩個快取是否相等。

bool equals(const sync<_Cache>& _Other) const;

參數

_快取
與篩選條件相關聯的快取物件。

_其他
要比較是否相等的快取物件。

備註

若結果是 caches[0].equals(other.caches[0]),即為 true,否則為 falsecaches 代表快取物件的陣列。

另請參閱

ALLOCATOR_DECL
<allocators>