Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Š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>
Obor názvů: 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.