1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <deque>
11
12// deque()
13
14#include <deque>
15#include <cassert>
16
17#include "../../../stack_allocator.h"
18#include "../../../NotConstructible.h"
19#include "min_allocator.h"
20
21template <class T, class Allocator>
22void
23test()
24{
25    std::deque<T, Allocator> d;
26    assert(d.size() == 0);
27#if __cplusplus >= 201103L
28    std::deque<T, Allocator> d1 = {};
29    assert(d1.size() == 0);
30#endif
31}
32
33int main()
34{
35    test<int, std::allocator<int> >();
36    test<NotConstructible, stack_allocator<NotConstructible, 1> >();
37#if __cplusplus >= 201103L
38    test<int, min_allocator<int> >();
39    test<NotConstructible, min_allocator<NotConstructible> >();
40#endif
41}
42