Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
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>
CACHE_FREELIST
Yields stdext::allocators::cache_freelist<sizeof(Type), max>.
#define CACHE_FREELIST(max) <cache_class>
CACHE_SUBALLOC
Yields stdext::allocators::cache_suballoc<sizeof(Type)>.
#define CACHE_SUBALLOC <cache_class>
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.