Macros <allocators>
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>
Notes
CACHE_FREELIST
Génère stdext::allocators::cache_freelist<sizeof(Type), max>
.
#define CACHE_FREELIST(max) <cache_class>
Notes
CACHE_SUBALLOC
Génère stdext::allocators::cache_suballoc<sizeof(Type)>
.
#define CACHE_SUBALLOC <cache_class>
Notes
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
.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour