Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Macros
ALLOCATOR_DECL
Génère un modèle de classe d’allocator.
#define ALLOCATOR_DECL(cache, sync, name) <alloc_template>
Notes
La macro génère une définition template <class Type> class name {.....} de modèle et une spécialisation template <> class name<void> {.....} qui définissent ensemble un modèle de classe d’allocator qui utilise le filtre sync de synchronisation et un cache de type cache.
Pour les compilateurs qui peuvent compiler rebind, la définition de modèle obtenue ressemble à ceci :
struct rebind
{ /* convert a name<Type> to a name<Other> */
typedef name<Other> other;
};
Pour les compilateurs qui ne peuvent pas compiler rebind, la définition de modèle obtenue ressemble à ceci :
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
Génère stdext::allocators::cache_chunklist<sizeof(Type)>.
#define CACHE_CHUNKLIST <cache_class>
CACHE_FREELIST
Génère stdext::allocators::cache_freelist<sizeof(Type), max>.
#define CACHE_FREELIST(max) <cache_class>
CACHE_SUBALLOC
Génère stdext::allocators::cache_suballoc<sizeof(Type)>.
#define CACHE_SUBALLOC <cache_class>
SYNC_DEFAULT
Génère un filtre de synchronisation.
#define SYNC_DEFAULT <sync_template>
Notes
Si un compilateur prend en charge la compilation d’applications monothread et multithread, pour les applications monothread, la macro génère stdext::allocators::sync_none ; dans tous les autres cas, elle génère stdext::allocators::sync_shared.