Share via


ALLOCATOR_DECL (<allocators>)

Genera una clase de plantilla de asignador.

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

Comentarios

La macro provoca una definición de plantilla template <class Type> class name {.....} y una especialización template <> class name<void> {.....} que juntos definen una clase de plantilla de asignador que utiliza el filtro sync de sincronización y la memoria caché de cacheescrito.

Para los compiladores que puede compilar reencuaderne, la definición de plantilla resultante tiene el siguiente aspecto:

template <class Type> class name
    : public stdext::allocators::allocator_base<Type, sync<cache > >
    {
    public:
        name() {}
        template <class Other> name(const name<Other>&) {}
        template <class Other> name& operator = (const name<Other>&)
            {return *this; }
        template <class Other> struct rebind
            {    /* convert a name<Type> to a name<Other> */
            typedef name<Other> other;
            };
    };

Para los compiladores que no pueden compilar reencuaderne la definición de plantilla resultante tiene el siguiente aspecto:

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; }
    };

Requisitos

encabezado: <asignadores>

espacio de nombres: stdext

Vea también

Referencia

<allocators>