[#bsl-deque-0c-2constructor-0f6d] = xref:bsl.adoc[bsl]::xref:bsl/deque-0c.adoc[deque]::deque :relfileprefix: ../../ :mrdocs: Create a deque initially containing copies of the values in the range starting at the specified `first` and ending immediately before the specified `last` iterators of the (template parameter) type `INPUT_ITERATOR`. Optionally specify a `basicAllocator` used to supply memory. If `basicAllocator` is not supplied, a default‐constructed object of the (template parameter) type `ALLOCATOR` is used. If the type `ALLOCATOR` is `bsl::allocator` (the default), then `basicAllocator`, if supplied, shall be convertible to `bslma::Allocator *`. If the type `ALLOCATOR` is `bsl::allocator` and `basicAllocator` is not supplied, the currently installed default allocator is used. Throw `bsl::length_error` if the number of elements in `[first .. last)]` exceeds the size returned by `max_size`. The (template parameter) type `INPUT_ITERATOR` shall meet the requirements of an input iterator defined in the C++11 standard [input.iterators]providing access to values of a type convertible to `value_type`, and `value_type` must be `emplace‐constructible` from `*i` into this deque, where `i` is a dereferenceable iterator in the range `[first .. last)]` (see {Requirements on `VALUE_TYPE`}). The behavior is undefined unless `first` and `last` refer to a sequence of valid values where `first` is at a position at or before `last`. == Synopsis Declared in `<bslstl_deque.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> deque( INPUT_ITERATOR first, INPUT_ITERATOR last, ALLOCATOR const& basicAllocator = ALLOCATOR()); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#