1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9// <list>
10
11// void resize(size_type sz);
12
13#include <list>
14#include <cassert>
15#include "test_macros.h"
16#include "DefaultOnly.h"
17#include "min_allocator.h"
18
19int main(int, char**) {
20 {
21 std::list<int> l(5, 2);
22 l.resize(new_size: 2);
23 assert(l.size() == 2);
24 assert(std::distance(l.begin(), l.end()) == 2);
25 assert(l == std::list<int>(2, 2));
26 }
27 {
28 std::list<int> l(5, 2);
29 l.resize(new_size: 10);
30 assert(l.size() == 10);
31 assert(std::distance(l.begin(), l.end()) == 10);
32 assert(l.front() == 2);
33 assert(l.back() == 0);
34 }
35#if TEST_STD_VER >= 11
36 {
37 std::list<DefaultOnly> l(10);
38 l.resize(5);
39 assert(l.size() == 5);
40 assert(std::distance(l.begin(), l.end()) == 5);
41 }
42 {
43 std::list<DefaultOnly> l(10);
44 l.resize(20);
45 assert(l.size() == 20);
46 assert(std::distance(l.begin(), l.end()) == 20);
47 }
48 {
49 std::list<int, min_allocator<int>> l(5, 2);
50 l.resize(2);
51 assert(l.size() == 2);
52 assert(std::distance(l.begin(), l.end()) == 2);
53 assert((l == std::list<int, min_allocator<int>>(2, 2)));
54 }
55 {
56 std::list<int, min_allocator<int>> l(5, 2);
57 l.resize(10);
58 assert(l.size() == 10);
59 assert(std::distance(l.begin(), l.end()) == 10);
60 assert(l.front() == 2);
61 assert(l.back() == 0);
62 }
63 {
64 std::list<DefaultOnly, min_allocator<DefaultOnly>> l(10);
65 l.resize(5);
66 assert(l.size() == 5);
67 assert(std::distance(l.begin(), l.end()) == 5);
68 }
69 {
70 std::list<DefaultOnly, min_allocator<DefaultOnly>> l(10);
71 l.resize(20);
72 assert(l.size() == 20);
73 assert(std::distance(l.begin(), l.end()) == 20);
74 }
75#endif
76
77 return 0;
78}
79

source code of libcxx/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp