Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
ALLOCATOR_DECL
Gibt eine Allocator-Klassenvorlage zurück.
#define ALLOCATOR_DECL(cache, sync, name) <alloc_template>
Hinweise
Das Makro liefert eine Vorlagendefinition template <class Type> class name {.....} und eine Spezialisierung template <> class name<void> {.....} , die zusammen eine Allocator-Klassenvorlage definiert, die den Synchronisierungsfilter sync und einen Cache vom Typ cacheverwendet.
Für Compiler, die Neubindungen kompilieren können, sieht die resultierende Vorlagendefinition wie folgt aus:
struct rebind
{ /* convert a name<Type> to a name<Other> */
typedef name<Other> other;
};
Für Compiler, die Neubindungen nicht kompilieren können, sieht die resultierende Vorlagendefinition wie folgt aus:
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
Gibt stdext::allocators::cache_chunklist<sizeof(Type)> aus.
#define CACHE_CHUNKLIST <cache_class>
CACHE_FREELIST
Gibt stdext::allocators::cache_freelist<sizeof(Type), max> aus.
#define CACHE_FREELIST(max) <cache_class>
CACHE_SUBALLOC
Gibt stdext::allocators::cache_suballoc<sizeof(Type)> aus.
#define CACHE_SUBALLOC <cache_class>
SYNC_DEFAULT
Gibt einen Synchronisierungsfilter aus.
#define SYNC_DEFAULT <sync_template>
Hinweise
Wenn ein Compiler das Kompilieren sowohl von Singlethread- als auch von Multithread-Anwendungen unterstützt, gibt das Makro für die Singlethread-Anwendung stdext::allocators::sync_none aus; andernfalls gibt es stdext::allocators::sync_shared aus.