8#ifndef INCLUDED_BSLTF_STDALLOCATORADAPTOR
9#define INCLUDED_BSLTF_STDALLOCATORADAPTOR
126#include <bslscm_version.h>
145#if BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
151# define COMPILING_BSLTF_STDALLOCATORADAPTOR_H
153# undef COMPILING_BSLTF_STDALLOCATORADAPTOR_H
171template <
class ALLOCATOR>
178#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
184 template <
class ELEMENT_TYPE,
class... Args>
186 ELEMENT_TYPE *elemAddr,
187 Args&&... arguments);
192 template <
class ELEMENT_TYPE,
class... Args>
194 ELEMENT_TYPE *elemAddr,
195 Args&&... arguments);
219 template <
class BDE_OTHER_TYPE>
242 template <
class ANY_TYPE>
245#ifdef BSLS_COMPILERFEATURES_SUPPORT_DEFAULTED_FUNCTIONS
256#ifdef BSLS_COMPILERFEATURES_SUPPORT_DEFAULTED_FUNCTIONS
266#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
276 template <
class ELEMENT_TYPE,
class... Args>
277 void construct(ELEMENT_TYPE *address, Args&&... arguments);
303template <
class TYPE1,
class TYPE2>
310template <
class TYPE1,
class TYPE2>
323#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
324template <
class ALLOCATOR>
325template <
class ELEMENT_TYPE,
class... Args>
329 ELEMENT_TYPE *address,
332 AllocatorTraits::construct(
339template <
class ALLOCATOR>
340template <
class ELEMENT_TYPE,
class... Args>
342void StdAllocatorAdaptor<ALLOCATOR>::privateConstruct(
344 ELEMENT_TYPE *address,
347 AllocatorTraits::construct(
354template <
class ALLOCATOR>
361template <
class ALLOCATOR>
364: ALLOCATOR(allocator)
368template <
class ALLOCATOR>
375template <
class ALLOCATOR>
376template <
class ANY_TYPE>
385#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
386template <
class ALLOCATOR>
387template <
class ELEMENT_TYPE,
class... Args>
399 enum { k_PassSelfAtEnd =
413template <
class ALLOCATOR>
420template <
class ALLOCATOR>
426 AllocatorTraits::select_on_container_copy_construction(
427 *
reinterpret_cast<const ALLOCATOR *
>(
this)));
431template <
class TYPE1,
class TYPE2>
436 return lhs.allocator() == rhs.allocator();
439template <
class TYPE1,
class TYPE2>
444 return lhs.allocator() != rhs.allocator();
Definition bslma_bslallocator.h:588
Definition bsltf_stdallocatoradaptor.h:172
ALLOCATOR::size_type size_type
Definition bsltf_stdallocatoradaptor.h:204
const ALLOCATOR & allocator() const
Definition bsltf_stdallocatoradaptor.h:415
BSLMF_NESTED_TRAIT_DECLARATION(StdAllocatorAdaptor, bslma::IsStdAllocator)
StdAllocatorAdaptor< ALLOCATOR > select_on_container_copy_construction() const
Definition bsltf_stdallocatoradaptor.h:423
void construct(ELEMENT_TYPE *address, Args &&... arguments)
Definition bsltf_stdallocatoradaptor.h:389
ALLOCATOR::difference_type difference_type
Definition bsltf_stdallocatoradaptor.h:205
ALLOCATOR::reference reference
Definition bsltf_stdallocatoradaptor.h:208
StdAllocatorAdaptor & operator=(const StdAllocatorAdaptor &rhs)=default
ALLOCATOR::pointer pointer
Definition bsltf_stdallocatoradaptor.h:206
ALLOCATOR::const_reference const_reference
Definition bsltf_stdallocatoradaptor.h:209
StdAllocatorAdaptor()
Definition bsltf_stdallocatoradaptor.h:356
ALLOCATOR::value_type value_type
Definition bsltf_stdallocatoradaptor.h:210
ALLOCATOR::const_pointer const_pointer
Definition bsltf_stdallocatoradaptor.h:207
~StdAllocatorAdaptor()=default
StdAllocatorAdaptor(const StdAllocatorAdaptor &original)=default
#define BSLS_COMPILERFEATURES_FORWARD(T, V)
Definition bsls_compilerfeatures.h:2349
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
BloombergLP::bsls::Nullptr_Impl::Type nullptr_t
Definition bsls_nullptr.h:283
Definition bsltf_allocargumenttype.h:92
Definition bslma_allocatortraits.h:1089
Definition bslmf_isconvertible.h:875
Definition bslmf_usesallocator.h:165
Definition bslma_isstdallocator.h:202
Definition bsltf_stdallocatoradaptor.h:221
StdAllocatorAdaptor< typename ALLOCATOR::template rebind< BDE_OTHER_TYPE >::other > other
Definition bsltf_stdallocatoradaptor.h:224