Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
tbb::tbb_allocator< T > Class Template Reference

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...

#include <tbb_allocator.h>

Classes

struct  rebind
 

Public Types

enum  malloc_type { scalable, standard }
 Specifies current allocator.
 
typedef
internal::allocator_type< T >
::value_type 
value_type
 
typedef value_type * pointer
 
typedef const value_type * const_pointer
 
typedef value_type & reference
 
typedef const value_type & const_reference
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 

Public Member Functions

 tbb_allocator (const tbb_allocator &) throw ()
 
template<typename U >
 tbb_allocator (const tbb_allocator< U > &) throw ()
 
pointer address (reference x) const
 
const_pointer address (const_reference x) const
 
pointer allocate (size_type n, const void *=0)
 Allocate space for n objects.
 
void deallocate (pointer p, size_type)
 Free previously allocated block of memory.
 
size_type max_size () const throw ()
 Largest value for which method allocate might succeed.
 
template<typename U , typename... Args>
void construct (U *p, Args &&...args)
 Copy-construct value at location pointed to by p.
 
void construct (pointer p, const value_type &value)
 
void destroy (pointer p)
 Destroy value at location pointed to by p.
 

Static Public Member Functions

static malloc_type allocator_type ()
 Returns current allocator.
 

Detailed Description

template<typename T>
class tbb::tbb_allocator< T >

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.

The class selects the best memory allocation mechanism available from scalable_malloc and standard malloc. The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard.


The documentation for this class was generated from the following file:

Copyright © 2005-2014 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.