[#bsl-stack-05-2constructor-050] = xref:bsl.adoc[bsl]::xref:bsl/stack-05.adoc[stack]::stack :relfileprefix: ../../ :mrdocs: Create a stack whose underlying container has the value of the specified `container` (on entry) that uses `basicAllocator` to supply memory by using the allocator‐extended move constructor of `CONTAINER. `container' is left in a valid but unspecified state. A `bslma::Allocator *` can be supplied for `basicAllocator` if the (template parameter) `ALLOCATOR` is `bsl::allocator` (the default). This method assumes that `CONTAINER` has a move constructor. If `CONTAINER::allocator_type` does not exist, this constructor may not be used. == Synopsis Declared in `<bslstl_stack.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class ALLOCATOR> stack( xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<CONTAINER>] container, ALLOCATOR const& basicAllocator, ALLOCATOR* = 0) requires bsl::uses_allocator<CONTAINER, ALLOCATOR>::value; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#