Condividi tramite


Macro

L'intestazione fornisce le macro seguenti:

ALLOCATOR_DECL

Restituisce un modello di classe allocatore.

#define ALLOCATOR_DECL(cache, sync, name) <alloc_template>

Osservazioni:

La macro produce una definizione di modello e una specializzazione che insieme definiscono un modello di classe allocatore che usa il filtro di sincronizzazione e una cache di tipo .

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 .

#define CACHE_CHUNKLIST <cache_class>

CACHE_FREELIST

Restituisce .

#define CACHE_FREELIST(max) <cache_class>

CACHE_SUBALLOC

Restituisce .

#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 ; in tutti gli altri casi, restituisce .

Vedi anche

allocatori