Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
ALLOCATOR_DECL
Ger en allokeringsklassmall.
#define ALLOCATOR_DECL(cache, sync, name) <alloc_template>
Anmärkningar
Makrot ger en malldefinition template <class Type> class name {.....} och en specialisering template <> class name<void> {.....} som tillsammans definierar en allokeringsklassmall som använder synkroniseringsfiltret sync och en cache av typen cache.
För kompilatorer som kan kompilera ombindning ser den resulterande malldefinitionen ut så här:
struct rebind
{ /* convert a name<Type> to a name<Other> */
typedef name<Other> other;
};
För kompilatorer som inte kan kompilera om den resulterande malldefinitionen ser ut så här:
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
stdext::allocators::cache_chunklist<sizeof(Type)>Ger .
#define CACHE_CHUNKLIST <cache_class>
CACHE_FREELIST
stdext::allocators::cache_freelist<sizeof(Type), max>Ger .
#define CACHE_FREELIST(max) <cache_class>
CACHE_SUBALLOC
stdext::allocators::cache_suballoc<sizeof(Type)>Ger .
#define CACHE_SUBALLOC <cache_class>
SYNC_DEFAULT
Ger ett synkroniseringsfilter.
#define SYNC_DEFAULT <sync_template>
Anmärkningar
Om en kompilator har stöd för kompilering av både entrådade och flertrådade program ger makrot stdext::allocators::sync_nonei alla andra fall stdext::allocators::sync_shared.