8#ifndef INCLUDED_BSLTF_STDTESTALLOCATOR
9#define INCLUDED_BSLTF_STDTESTALLOCATOR
163#include <bslscm_version.h>
179#if BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
183# define COMPILING_BSLTF_STDTESTALLOCATOR_H
185# undef COMPILING_BSLTF_STDTESTALLOCATOR_H
292 template <
class BDE_OTHER_TYPE>
312 template <
class BDE_OTHER_TYPE>
337#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
346 template <
class ELEMENT_TYPE,
class... Args>
352 template <
class ELEMENT_TYPE>
399 template <
class BDE_OTHER_TYPE>
419 template <
class BDE_OTHER_TYPE>
435template <
class TYPE1,
class TYPE2>
440template <
class TYPE1,
class TYPE2>
474StdTestAllocatorConfigurationGuard::StdTestAllocatorConfigurationGuard(
503template <
class BDE_OTHER_TYPE>
516 if (numElements > this->max_size()) {
517 BloombergLP::bsls::BslExceptionUtil::throwBadAlloc();
532#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
534template <
class ELEMENT_TYPE,
class... Args>
538 ::new (
static_cast<void*
>(address)) ELEMENT_TYPE(
544template <
class ELEMENT_TYPE>
548 address->~ELEMENT_TYPE();
585template <
class BDE_OTHER_TYPE>
592template <
class TYPE1,
class TYPE2>
600template <
class TYPE1,
class TYPE2>
Definition bslma_allocator.h:457
virtual void deallocate(void *address)=0
std::size_t size_type
Definition bslma_allocator.h:499
Definition bsltf_stdtestallocator.h:229
~StdTestAllocatorConfigurationGuard()
Definition bsltf_stdtestallocator.h:484
const void * const_pointer
Definition bsltf_stdtestallocator.h:390
bsls::Types::IntPtr difference_type
Definition bsltf_stdtestallocator.h:388
bsls::Types::UintPtr size_type
Definition bsltf_stdtestallocator.h:387
void value_type
Definition bsltf_stdtestallocator.h:391
void * pointer
Definition bsltf_stdtestallocator.h:389
Definition bsltf_stdtestallocator.h:267
const TYPE * const_pointer
Definition bsltf_stdtestallocator.h:281
BSLMF_NESTED_TRAIT_DECLARATION(StdTestAllocator, bslma::IsStdAllocator)
pointer address(reference object) const
Return the address providing modifiable access to object.
Definition bsltf_stdtestallocator.h:554
pointer allocate(size_type numElements)
bsls::Types::UintPtr size_type
Definition bsltf_stdtestallocator.h:278
StdTestAllocator()
Create a StdTestAllocator object.
Definition bsltf_stdtestallocator.h:498
bsls::Types::IntPtr difference_type
Definition bsltf_stdtestallocator.h:279
const TYPE & const_reference
Definition bsltf_stdtestallocator.h:283
TYPE * pointer
Definition bsltf_stdtestallocator.h:280
void construct(ELEMENT_TYPE *address, Args &&... arguments)
Definition bsltf_stdtestallocator.h:536
size_type max_size() const
Definition bsltf_stdtestallocator.h:570
TYPE value_type
Definition bsltf_stdtestallocator.h:284
void deallocate(pointer address, size_type numElements=1)
Definition bsltf_stdtestallocator.h:527
TYPE & reference
Definition bsltf_stdtestallocator.h:282
void destroy(ELEMENT_TYPE *address)
Definition bsltf_stdtestallocator.h:546
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1804
#define BSLS_COMPILERFEATURES_FORWARD(T, V)
Definition bsls_compilerfeatures.h:2018
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bsltf_allocargumenttype.h:92
Definition bslma_isstdallocator.h:201
std::size_t UintPtr
Definition bsls_types.h:126
std::ptrdiff_t IntPtr
Definition bsls_types.h:130
static TYPE * addressOf(TYPE &obj)
Definition bsls_util.h:305
Definition bsltf_stdtestallocator.h:201
static void setDelegateAllocatorRaw(bslma::Allocator *basicAllocator)
static bslma::Allocator * delegateAllocator()
Definition bsltf_stdtestallocator.h:294
StdTestAllocator< BDE_OTHER_TYPE > other
Definition bsltf_stdtestallocator.h:296
StdTestAllocator< BDE_OTHER_TYPE > other
Definition bsltf_stdtestallocator.h:403
Definition bsltf_stdtestallocator.h:451
static size_t maxSize(size_t elementSize)