std::scoped_allocator_adaptor::select_on_container_copy_construction

Defined in header <scoped_allocator> scoped_allocator_adaptor select_on_container_copy_construction() const; (since C++11) Creates a new instance of std::scoped_allocator_adaptor, where the outer allocator base class and each inner allocator subobject are obtained by calling std::allocator_traits<A>::select_on_container_copy_construction(). Parameters (none). Return value A new std::scoped_allocator_adaptor object, constructed from correctly copied allocators.

std::scoped_allocator_adaptor::scoped_allocator_adaptor

Defined in header <scoped_allocator> scoped_allocator_adaptor(); (1) (since C++11) template< class OuterA2 > scoped_allocator_adaptor( OuterA2&& outerAlloc, const InnerAllocs&... innerAllocs); (2) (since C++11) scoped_allocator_adaptor( const scoped_allocator_adaptor& other ); (3) (since C++11) scoped_allocator_adaptor( scoped_allocator_adaptor&& other ); (4) (since C++11) template< class OuterA2 > scoped_allocator_adapto

std::scoped_allocator_adaptor::outer_allocator

Defined in header <scoped_allocator> outer_allocator_type& outer_allocator(); (1) (since C++11) const outer_allocator_type& outer_allocator() const; (2) (since C++11) Obtains a reference to the outer allocator used to declare this class. 1) returns static_cast<OuterAlloc&>(*this). 2) returns static_cast<const OuterAlloc&>(*this). Parameters (none). Return value A reference to OuterAlloc. Exceptions 1-2) noexcept specification: n

std::scoped_allocator_adaptor::max_size

Defined in header <scoped_allocator> size_type max_size() const; (since C++11) Reports the maximum allocation size supported by the outer allocator, by calling std::allocator_traits<OuterAlloc>::max_size(outer_allocator()). Parameters (none). Return value The maximum allocation size for OuterAlloc. See also max_size returns the largest supported allocation size (public member function of std::allocator) max_size [static] returns the maximum object

std::scoped_allocator_adaptor::inner_allocator

Defined in header <scoped_allocator> inner_allocator_type& inner_allocator(); (1) (since C++11) const inner_allocator_type& inner_allocator() const; (2) (since C++11) Obtains a reference to the inner allocator used to declare this scoped_allocator_adaptor. If sizeof...(InnerAllocs) == 0, that is, no inner allocators were declared, returns *this. Otherwise returns a reference to std::scoped_allocator_adaptor<InnerAllocs...>, that is, a scoped allocator co

std::scoped_allocator_adaptor::destroy

Defined in header <scoped_allocator> template< class T > void destroy( T* p ); (since C++11) Uses the outer allocator to call the destructor of the object pointed to by p, by calling. std::allocator_traits<OUTERMOST>::destroy(OUTERMOST(*this), p). where OUTERMOST is the type that would be returned by calling this->outer_allocator(), and then calling the outer_allocator() member function recursively on the result of this call until reaching the type that has n

std::scoped_allocator_adaptor::deallocate

Defined in header <scoped_allocator> void deallocate( pointer p, size_type n ); (since C++11) Uses the outer allocator to deallocate the storage referenced by p, by calling std::allocator_traits<OuterAlloc>::deallocate(outer_allocator(), p, n). Parameters p - pointer to the previously allocated memory n - the number of objects for which the memory was allocated Return value (none). Exceptions noexcept specification: noexcept See also deal

std::scoped_allocator_adaptor::construct

Defined in header <scoped_allocator> template < class T, class... Args > void construct( T* p, Args&&... args ); (1) template< class T1, class T2, class... Args1, class... Args2 > void construct( std::pair<T1, T2>* p, std::piecewise_construct_t, std::tuple<Args1...> x, std::tuple<Args2...> y ); (2) template< class T1, class T2 > void construct( std::pair<T1, T2>* p ); (3

std::scoped_allocator_adaptor::allocate

Defined in header <scoped_allocator> pointer allocate( size_type n ); (1) (since C++11) pointer allocate( size_type n, const_void_pointer hint ); (2) (since C++11) Uses the outer allocator to allocate uninitialized storage. 1) Calls std::allocator_traits<OuterAlloc>::allocate(outer_allocator(), n) 2) Additionally provides memory locality hint, by calling std::allocator_traits<OuterAlloc>::allocate(outer_allocator(), n, hint) Parameters n - the

std::scoped_allocator_adaptor

Defined in header <scoped_allocator> template< class OuterAlloc, class... InnerAlloc > class scoped_allocator_adaptor : public OuterAlloc; (since C++11) The std::scoped_allocator_adaptor class template is an allocator which can be used with multilevel containers (vector of sets of lists of tuples of maps, etc). It is instantiated with one outer allocator type OuterAlloc and zero or more inner allocator types InnerAlloc.... A container constructed directly with a scope