explicit deque(const Allocator&);
Effects: Constructs an empty deque, using the specified allocator.
Complexity: Constant.
explicit deque(size_type n, const Allocator& = Allocator());
Effects: Constructs a deque with n default-inserted elements using the specified allocator.
Requires: T shall be DefaultInsertable into *this.
Complexity: Linear in n.
deque(size_type n, const T& value,
const Allocator& = Allocator());
Effects: Constructs a deque with n copies of value, using the specified allocator.
Requires: T shall be CopyInsertable into *this.
Complexity: Linear in n.
template <class InputIterator>
deque(InputIterator first, InputIterator last,
const Allocator& = Allocator());
Effects: Constructs a deque equal to the range [first,last), using the specified allocator.
Complexity: Linear in distance(first, last).