<allocators>
macros
ALLOCATOR_DECL
Yields an allocator class template.
#define ALLOCATOR_DECL(cache, sync, name) <alloc_template>
Remarks
The macro yields a template definition template <class Type> class name {.....}
and a specialization template <> class name<void> {.....}
which together define an allocator class template that uses the synchronization filter sync
and a cache of type cache
.
For compilers that can compile rebind, the resulting template definition looks like this:
struct rebind
{ /* convert a name<Type> to a name<Other> */
typedef name<Other> other;
};
For compilers that cannot compile rebind the resulting template definition looks like this:
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
Yields stdext::allocators::cache_chunklist<sizeof(Type)>
.
#define CACHE_CHUNKLIST <cache_class>
Remarks
CACHE_FREELIST
Yields stdext::allocators::cache_freelist<sizeof(Type), max>
.
#define CACHE_FREELIST(max) <cache_class>
Remarks
CACHE_SUBALLOC
Yields stdext::allocators::cache_suballoc<sizeof(Type)>
.
#define CACHE_SUBALLOC <cache_class>
Remarks
SYNC_DEFAULT
Yields a synchronization filter.
#define SYNC_DEFAULT <sync_template>
Remarks
If a compiler supports compiling both single-threaded and multi-threaded applications, for single-threaded applications the macro yields stdext::allocators::sync_none
; in all other cases it yields stdext::allocators::sync_shared
.
See also
Feedback
https://aka.ms/ContentUserFeedback.
În curând: Pe parcursul anului 2024, vom elimina treptat Probleme legate de GitHub ca mecanism de feedback pentru conținut și îl vom înlocui cu un nou sistem de feedback. Pentru mai multe informații, consultați:Trimiteți și vizualizați feedback pentru