Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
ALLOCATOR_DECL
Geeft een allocator-klassesjabloon op.
#define ALLOCATOR_DECL(cache, sync, name) <alloc_template>
Opmerkingen
De macro levert een sjabloondefinitie template <class Type> class name {.....} en een specialisatie template <> class name<void> {.....} op die samen een allocator-klassesjabloon definiëren die gebruikmaakt van het synchronisatiefilter sync en een cache van het type cache.
Voor compilers die rebind kunnen compileren, ziet de resulterende sjabloondefinitie er als volgt uit:
struct rebind
{ /* convert a name<Type> to a name<Other> */
typedef name<Other> other;
};
Voor compilers die de resulterende sjabloondefinitie niet opnieuw kunnen compileren, ziet er als volgt uit:
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
Opbrengst stdext::allocators::cache_chunklist<sizeof(Type)>.
#define CACHE_CHUNKLIST <cache_class>
CACHE_FREELIST
Opbrengst stdext::allocators::cache_freelist<sizeof(Type), max>.
#define CACHE_FREELIST(max) <cache_class>
CACHE_SUBALLOC
Opbrengst stdext::allocators::cache_suballoc<sizeof(Type)>.
#define CACHE_SUBALLOC <cache_class>
SYNC_DEFAULT
Levert een synchronisatiefilter op.
#define SYNC_DEFAULT <sync_template>
Opmerkingen
Als een compiler ondersteuning biedt voor het compileren van toepassingen met één thread en meerdere threads, levert de macro voor toepassingen met één thread de macro op stdext::allocators::sync_none; in alle andere gevallen levert dit op stdext::allocators::sync_shared.