Sdílet prostřednictvím


rts_alloc – třída

Šablona třídy rts_alloc popisuje filtr , který obsahuje pole instancí mezipaměti a určuje, která instance se má použít pro přidělení a uvolnění za běhu místo v době kompilace.

Syntaxe

template <class Cache>
class rts_alloc

Parametry

Cache
Typ instancí mezipaměti obsažených v poli. Může to být cache_chunklist, cache_freelistnebo cache_suballoc.

Poznámky

Tato šablona třídy obsahuje více instancí alokátoru bloku a určuje, která instance se má použít pro přidělení nebo uvolnění za běhu místo v době kompilace. Používá se s kompilátory, které nemohou zkompilovat rebind.

Členské funkce

Členová funkce Popis
allocate Přidělí blok paměti.
uvolnit Uvolní zadaný počet objektů od úložiště počínaje zadanou pozicí.
equals Porovná dvě mezipaměti pro rovnost.

Požadavky

Záhlaví:<alokátory>

Namespace: stdext

rts_alloc::přidělení

Přidělí blok paměti.

void *allocate(std::size_t count);

Parametry

count
Počet prvků v poli, které se mají přidělit.

Návratová hodnota

Ukazatel na přidělený objekt.

Poznámky

Členová funkce vrátí caches[_IDX].allocate(count)hodnotu , kde index _IDX je určen požadovaným počtem velikostí bloku, nebo pokud je počet příliš velký, vrátí operator new(count). cache, který představuje objekt mezipaměti.

rts_alloc::d eallocate

Uvolní zadaný počet objektů od úložiště počínaje zadanou pozicí.

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

Parametry

ptr
Ukazatel na první objekt, který se má uvolnit z úložiště.

count
Počet objektů, které se mají uvolnit z úložiště.

Poznámky

Členské funkce volá caches[_IDX].deallocate(ptr, count), kde index _IDX je určen požadovaným počtem velikostí bloku, nebo pokud je počet příliš velký, vrátí operator delete(ptr).

rts_alloc::equals

Porovná dvě mezipaměti pro rovnost.

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

Parametry

_Mezipaměť
Objekt mezipaměti přidružený k filtru.

_Jiný
Objekt mezipaměti, který se má porovnat s rovností.

Poznámky

true je-li výsledek caches[0].equals(other.caches[0]); v opačném případě , false. caches představuje pole objektů mezipaměti.

Viz také

ALLOCATOR_DECL
<alokátory>