STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Namespaces | Macros | Functions | Variables
allocators File Reference
#include <new>
#include <xutility>
#include <stddef.h>

Classes

class  stdext::threads::mutex
 
class  stdext::threads::_Scoped_lock
 
class  stdext::allocators::sync_none< _Cache >
 
class  stdext::allocators::sync_per_container< _Cache >
 
class  stdext::allocators::sync_shared< _Cache >
 
class  stdext::allocators::sync_per_thread< _Cache >
 
class  stdext::allocators::max_none< _Cache >
 
class  stdext::allocators::max_unbounded
 
class  stdext::allocators::max_fixed_size< _Max >
 
class  stdext::allocators::max_variable_size
 
class  stdext::allocators::freelist< _Sz, _Max >
 
struct  stdext::allocators::freelist< _Sz, _Max >::node
 
class  stdext::allocators::cache_freelist< _Sz, _Max >
 
class  stdext::allocators::cache_suballoc< _Sz, _Nelts >
 
class  stdext::allocators::cache_chunklist< _Sz, _Nelts >
 
struct  stdext::allocators::cache_chunklist< _Sz, _Nelts >::_Data_node
 
class  stdext::allocators::cache_chunklist< _Sz, _Nelts >::_Data_array
 
class  stdext::allocators::cache_chunklist< _Sz, _Nelts >::_Data_block
 
class  stdext::allocators::rts_alloc< _Cache >
 
class  stdext::allocators::allocator_base< _Ty, _Sync >
 

Namespaces

 stdext
 
 stdext::threads
 
 stdext::allocators
 

Macros

#define _ALLOCATORS_
 
#define _DECLSPEC_ALLOCATOR   __declspec(allocator)
 
#define _ALLOCATORS_NO_REBIND   0
 
#define _HAS_ALLOCATORS_IN_STD   0
 
#define SYNC_DEFAULT   stdext::allocators::sync_shared
 
#define _ALLOCATOR_VOID(name)
 
#define _ALLOCATOR_BODY(name)
 
#define _ALLOCATOR_REBIND(name)
 
#define _ALLOCATOR_DECL(cache, sync, name)
 
#define CACHE_FREELIST(max)   stdext::allocators::cache_freelist<sizeof (_Ty), max >
 
#define CACHE_SUBALLOC   stdext::allocators::cache_suballoc<sizeof (_Ty)>
 
#define CACHE_CHUNKLIST   stdext::allocators::cache_chunklist<sizeof (_Ty)>
 

Functions

_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL stdext::threads::_Mtx_new (void *&)
 
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL stdext::threads::_Mtx_delete (void *)
 
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL stdext::threads::_Mtx_lock (void *)
 
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL stdext::threads::_Mtx_unlock (void *)
 
template<class _Ty , class _Sync >
bool stdext::allocators::operator== (const allocator_base< _Ty, _Sync > &_Left, const allocator_base< _Ty, _Sync > &_Right)
 
template<class _Ty , class _Sync >
bool stdext::allocators::operator!= (const allocator_base< _Ty, _Sync > &_Left, const allocator_base< _Ty, _Sync > &_Right)
 
 stdext::allocators::_ALLOCATOR_DECL (CACHE_FREELIST(stdext::allocators::max_none), SYNC_DEFAULT, allocator_newdel)
 
 stdext::allocators::_ALLOCATOR_DECL (CACHE_FREELIST(stdext::allocators::max_unbounded), SYNC_DEFAULT, allocator_unbounded)
 
 stdext::allocators::_ALLOCATOR_DECL (CACHE_FREELIST(stdext::allocators::max_fixed_size< 10 >), SYNC_DEFAULT, allocator_fixed_size)
 
 stdext::allocators::_ALLOCATOR_DECL (CACHE_FREELIST(stdext::allocators::max_variable_size), SYNC_DEFAULT, allocator_variable_size)
 
 stdext::allocators::_ALLOCATOR_DECL (CACHE_SUBALLOC, SYNC_DEFAULT, allocator_suballoc)
 
 stdext::allocators::_ALLOCATOR_DECL (CACHE_CHUNKLIST, SYNC_DEFAULT, allocator_chunklist)
 

Variables

const int stdext::allocators::_WIDTH = 8
 
const int stdext::allocators::_COUNT = 16
 

Macro Definition Documentation

#define _ALLOCATOR_BODY (   name)
Value:
{ \
public: \
name() {} \
template<class _Other> \
name(const name<_Other>&) {} \
template<class _Other> \
name& operator=(const name<_Other>&) \
{return (*this); } \
}
#define _ALLOCATOR_REBIND(name)
Definition: allocators:842
#define _ALLOCATOR_DECL (   cache,
  sync,
  name 
)
Value:
template<class _Ty> \
class name \
sync<cache > > \
#define _ALLOCATOR_BODY(name)
Definition: allocators:819
#define _ALLOCATOR_VOID(name)
Definition: allocators:800
Definition: allocators:686
#define _ALLOCATOR_REBIND (   name)
Value:
template<class _Other> \
struct rebind \
{ /* convert a name<_Ty> to a name<_Other> */ \
typedef name<_Other> other; \
};
#define _ALLOCATOR_VOID (   name)
Value:
template<> \
class name<void> \
{ \
public: \
name() {} \
template<class _Ty> \
name(const name<_Ty>&) {} \
template<class _Ty> \
name& operator=(const name<_Ty>&) \
{return (*this); } \
typedef void *pointer; \
typedef const void *const_pointer; \
typedef void *void_pointer; \
typedef const void *const_void_pointer; \
typedef void value_type; \
}
#define _ALLOCATOR_REBIND(name)
Definition: allocators:842
#define _ALLOCATORS_
#define _ALLOCATORS_NO_REBIND   0
#define _DECLSPEC_ALLOCATOR   __declspec(allocator)
#define _HAS_ALLOCATORS_IN_STD   0
#define CACHE_CHUNKLIST   stdext::allocators::cache_chunklist<sizeof (_Ty)>
#define CACHE_FREELIST (   max)    stdext::allocators::cache_freelist<sizeof (_Ty), max >
#define CACHE_SUBALLOC   stdext::allocators::cache_suballoc<sizeof (_Ty)>
#define SYNC_DEFAULT   stdext::allocators::sync_shared