Quick Links:

bal | bbl | bdl | bsl

Public Types | Public Member Functions

bsl::allocator_traits< allocator< TYPE > >::rebind_alloc< ELEMENT_TYPE > Struct Template Reference
[Component bslma_stdallocator]

#include <bslma_stdallocator.h>

Inheritance diagram for bsl::allocator_traits< allocator< TYPE > >::rebind_alloc< ELEMENT_TYPE >:
bsl::allocator< ELEMENT_TYPE >

List of all members.

Public Types

typedef std::size_t size_type
typedef std::ptrdiff_t difference_type
typedef ELEMENT_TYPE * pointer
typedef const ELEMENT_TYPE * const_pointer
typedef ELEMENT_TYPE & reference
typedef const ELEMENT_TYPE & const_reference
typedef ELEMENT_TYPE value_type

Public Member Functions

 rebind_alloc ()
template<typename ARG >
 rebind_alloc (const ARG &allocatorArg)
 BSLMF_NESTED_TRAIT_DECLARATION (allocator, bsl::is_trivially_copyable)
 BSLMF_NESTED_TRAIT_DECLARATION (allocator, BloombergLP::bslmf::IsBitwiseMoveable)
 BSLMF_NESTED_TRAIT_DECLARATION (allocator, BloombergLP::bslmf::IsBitwiseEqualityComparable)
pointer allocate (size_type n, const void *hint=0)
void deallocate (pointer p, size_type n=1)
void construct (ELEMENT_TYPE *address, Args &&...arguments)
void destroy (ELEMENT_TYPE *address)
pointer address (reference x) const
const_pointer address (const_reference x) const
size_type max_size () const
BloombergLP::bslma::Allocator * mechanism () const
allocator< ELEMENT_TYPE > select_on_container_copy_construction () const

template<class TYPE>
template<class ELEMENT_TYPE>
struct bsl::allocator_traits< allocator< TYPE > >::rebind_alloc< ELEMENT_TYPE >


Member Typedef Documentation

typedef std::size_t bsl::allocator< ELEMENT_TYPE >::size_type [inherited]
typedef std::ptrdiff_t bsl::allocator< ELEMENT_TYPE >::difference_type [inherited]
typedef ELEMENT_TYPE * bsl::allocator< ELEMENT_TYPE >::pointer [inherited]
typedef const ELEMENT_TYPE * bsl::allocator< ELEMENT_TYPE >::const_pointer [inherited]
typedef ELEMENT_TYPE & bsl::allocator< ELEMENT_TYPE >::reference [inherited]
typedef const ELEMENT_TYPE & bsl::allocator< ELEMENT_TYPE >::const_reference [inherited]
typedef ELEMENT_TYPE bsl::allocator< ELEMENT_TYPE >::value_type [inherited]

Constructor & Destructor Documentation

template<class TYPE >
template<class ELEMENT_TYPE >
bsl::allocator_traits< allocator< TYPE > >::rebind_alloc< ELEMENT_TYPE >::rebind_alloc (  )  [inline]

Member Function Documentation

bsl::allocator< ELEMENT_TYPE >::BSLMF_NESTED_TRAIT_DECLARATION ( allocator< ELEMENT_TYPE >  ,
bsl::is_trivially_copyable   
) [inherited]
bsl::allocator< ELEMENT_TYPE >::BSLMF_NESTED_TRAIT_DECLARATION ( allocator< ELEMENT_TYPE >  ,
BloombergLP::bslmf::IsBitwiseMoveable   
) [inherited]
bsl::allocator< ELEMENT_TYPE >::BSLMF_NESTED_TRAIT_DECLARATION ( allocator< ELEMENT_TYPE >  ,
BloombergLP::bslmf::IsBitwiseEqualityComparable   
) [inherited]

Declare nested type traits for this class.

pointer bsl::allocator< ELEMENT_TYPE >::allocate ( size_type  n,
const void *  hint = 0 
) [inherited]

Allocate enough (properly aligned) space for the specified n objects of (template parameter) TYPE by calling allocate on the mechanism object. The optionally specified hint argument is ignored by this allocator type. The behavior is undefined unless n <= max_size().

void bsl::allocator< ELEMENT_TYPE >::deallocate ( pointer  p,
size_type  n = 1 
) [inherited]

Return memory previously allocated with allocate to the underlying mechanism object by calling deallocate on the mechanism object with the specified p. The optionally specified n argument is ignored by this allocator type.

void bsl::allocator< ELEMENT_TYPE >::construct ( ELEMENT_TYPE *  address,
Args &&...  arguments 
) [inherited]

Construct an object of (template parameter) TYPE, by forwarding the specified (variable number of) arguments to the corresponding constructor of ELEMENT_TYPE, at the specified uninitialized memory address. The behavior is undefined unless address is properly aligned for objects of ELEMENT_TYPE.

void bsl::allocator< ELEMENT_TYPE >::destroy ( ELEMENT_TYPE *  address  )  [inherited]

Call the TYPE destructor for the object pointed to by the specified p. Do not directly deallocate any memory.

pointer bsl::allocator< ELEMENT_TYPE >::address ( reference  x  )  const [inherited]

Return the address of the object referred to by the specified x, even if the (template parameter) TYPE overloads the unary operator&.

const_pointer bsl::allocator< ELEMENT_TYPE >::address ( const_reference  x  )  const [inherited]

Return the address of the object referred to by the specified x, even if the (template parameter) TYPE overloads the unary operator&.

size_type bsl::allocator< ELEMENT_TYPE >::max_size (  )  const [inherited]

Return the maximum number of elements of (template parameter) TYPE that can be allocated using this allocator. Note that there is no guarantee that attempts at allocating fewer elements than the value returned by max_size will not throw.

BloombergLP::bslma::Allocator* bsl::allocator< ELEMENT_TYPE >::mechanism (  )  const [inherited]

Return a pointer to the mechanism object to which this proxy forwards allocation and deallocation calls.

allocator<ELEMENT_TYPE > bsl::allocator< ELEMENT_TYPE >::select_on_container_copy_construction (  )  const [inherited]

TBD: add comment


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