Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Macro
ALLOCATOR_DECL
Restituisce un modello di classe allocatore.
#define ALLOCATOR_DECL(cache, sync, name) <alloc_template>
Osservazioni:
La macro produce una definizione template <class Type> class name {.....} di modello e una specializzazione template <> class name<void> {.....} che insieme definiscono un modello di classe allocatore che usa il filtro sync di sincronizzazione e una cache di tipo cache.
Per i compilatori che possono compilare la riassociazione, la definizione di modello risultante è simile alla seguente:
struct rebind
{ /* convert a name<Type> to a name<Other> */
typedef name<Other> other;
};
Per i compilatori che non possono compilare la riassociazione, la definizione di modello risultante è simile alla seguente:
template <class Type<class name
: public stdext::allocators::allocator_base<Type,
sync<stdext::allocators::rts_alloc<cache>>>
{
public:
name() {}
template <class Other>
name(const name<Other>&) {}
template <class Other>
name& operator= (const name<Other>&)
{
return *this;
}
};
CACHE_CHUNKLIST
Restituisce stdext::allocators::cache_chunklist<sizeof(Type)>.
#define CACHE_CHUNKLIST <cache_class>
CACHE_FREELIST
Restituisce stdext::allocators::cache_freelist<sizeof(Type), max>.
#define CACHE_FREELIST(max) <cache_class>
CACHE_SUBALLOC
Restituisce stdext::allocators::cache_suballoc<sizeof(Type)>.
#define CACHE_SUBALLOC <cache_class>
SYNC_DEFAULT
Restituisce un filtro di sincronizzazione.
#define SYNC_DEFAULT <sync_template>
Osservazioni:
Se un compilatore supporta la compilazione di applicazioni a thread singolo e multithread, per le applicazioni a thread singolo la macro restituisce stdext::allocators::sync_none; in tutti gli altri casi, restituisce stdext::allocators::sync_shared.