Lines Matching refs:NonDefaultConstructible

46 struct NonDefaultConstructible {  struct
50 explicit NonDefaultConstructible(int) { in NonDefaultConstructible() argument
52 NonDefaultConstructible(const NonDefaultConstructible&) { in NonDefaultConstructible() function
55 NonDefaultConstructible &operator=(const NonDefaultConstructible&) { in operator =() argument
59 ~NonDefaultConstructible() { in ~NonDefaultConstructible() argument
69 unsigned NonDefaultConstructible::CopyConstructions = 0;
70 unsigned NonDefaultConstructible::Destructions = 0;
71 unsigned NonDefaultConstructible::CopyAssignments = 0;
74 !std::is_trivially_copyable<Optional<NonDefaultConstructible>>::value,
78 Optional<NonDefaultConstructible> O; in TEST()
83 NonDefaultConstructible::ResetCounts(); in TEST()
84 Optional<NonDefaultConstructible> O(NonDefaultConstructible(3)); in TEST()
85 EXPECT_EQ(1u, NonDefaultConstructible::CopyConstructions); in TEST()
86 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
87 EXPECT_EQ(1u, NonDefaultConstructible::Destructions); in TEST()
88 NonDefaultConstructible::ResetCounts(); in TEST()
90 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
91 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
92 EXPECT_EQ(1u, NonDefaultConstructible::Destructions); in TEST()
96 NonDefaultConstructible::ResetCounts(); in TEST()
97 Optional<NonDefaultConstructible>(NonDefaultConstructible(3)); in TEST()
98 EXPECT_EQ(1u, NonDefaultConstructible::CopyConstructions); in TEST()
99 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
100 EXPECT_EQ(2u, NonDefaultConstructible::Destructions); in TEST()
104 NonDefaultConstructible::ResetCounts(); in TEST()
106 Optional<NonDefaultConstructible> A(NonDefaultConstructible(3)); in TEST()
107 EXPECT_EQ(1u, NonDefaultConstructible::CopyConstructions); in TEST()
108 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
109 EXPECT_EQ(1u, NonDefaultConstructible::Destructions); in TEST()
110 NonDefaultConstructible::ResetCounts(); in TEST()
111 Optional<NonDefaultConstructible> B(A); in TEST()
112 EXPECT_EQ(1u, NonDefaultConstructible::CopyConstructions); in TEST()
113 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
114 EXPECT_EQ(0u, NonDefaultConstructible::Destructions); in TEST()
115 NonDefaultConstructible::ResetCounts(); in TEST()
117 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
118 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
119 EXPECT_EQ(2u, NonDefaultConstructible::Destructions); in TEST()
123 NonDefaultConstructible::ResetCounts(); in TEST()
125 Optional<NonDefaultConstructible> A(NonDefaultConstructible(3)); in TEST()
126 Optional<NonDefaultConstructible> B; in TEST()
127 EXPECT_EQ(1u, NonDefaultConstructible::CopyConstructions); in TEST()
128 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
129 EXPECT_EQ(1u, NonDefaultConstructible::Destructions); in TEST()
130 NonDefaultConstructible::ResetCounts(); in TEST()
132 EXPECT_EQ(1u, NonDefaultConstructible::CopyConstructions); in TEST()
133 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
134 EXPECT_EQ(0u, NonDefaultConstructible::Destructions); in TEST()
135 NonDefaultConstructible::ResetCounts(); in TEST()
137 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
138 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
139 EXPECT_EQ(2u, NonDefaultConstructible::Destructions); in TEST()
143 NonDefaultConstructible::ResetCounts(); in TEST()
145 Optional<NonDefaultConstructible> A(NonDefaultConstructible(3)); in TEST()
146 Optional<NonDefaultConstructible> B(NonDefaultConstructible(4)); in TEST()
147 EXPECT_EQ(2u, NonDefaultConstructible::CopyConstructions); in TEST()
148 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
149 EXPECT_EQ(2u, NonDefaultConstructible::Destructions); in TEST()
150 NonDefaultConstructible::ResetCounts(); in TEST()
152 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
153 EXPECT_EQ(1u, NonDefaultConstructible::CopyAssignments); in TEST()
154 EXPECT_EQ(0u, NonDefaultConstructible::Destructions); in TEST()
155 NonDefaultConstructible::ResetCounts(); in TEST()
157 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
158 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
159 EXPECT_EQ(2u, NonDefaultConstructible::Destructions); in TEST()
163 NonDefaultConstructible::ResetCounts(); in TEST()
165 Optional<NonDefaultConstructible> A; in TEST()
166 Optional<NonDefaultConstructible> B(NonDefaultConstructible(3)); in TEST()
167 EXPECT_EQ(1u, NonDefaultConstructible::CopyConstructions); in TEST()
168 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
169 EXPECT_EQ(1u, NonDefaultConstructible::Destructions); in TEST()
170 NonDefaultConstructible::ResetCounts(); in TEST()
172 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
173 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
174 EXPECT_EQ(1u, NonDefaultConstructible::Destructions); in TEST()
175 NonDefaultConstructible::ResetCounts(); in TEST()
177 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
178 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
179 EXPECT_EQ(0u, NonDefaultConstructible::Destructions); in TEST()
183 NonDefaultConstructible::ResetCounts(); in TEST()
185 Optional<NonDefaultConstructible> A; in TEST()
186 Optional<NonDefaultConstructible> B; in TEST()
187 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
188 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
189 EXPECT_EQ(0u, NonDefaultConstructible::Destructions); in TEST()
190 NonDefaultConstructible::ResetCounts(); in TEST()
192 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
193 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
194 EXPECT_EQ(0u, NonDefaultConstructible::Destructions); in TEST()
195 NonDefaultConstructible::ResetCounts(); in TEST()
197 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
198 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
199 EXPECT_EQ(0u, NonDefaultConstructible::Destructions); in TEST()
203 NonDefaultConstructible::ResetCounts(); in TEST()
204 { Optional<NonDefaultConstructible> A{in_place, 1}; } in TEST()
205 EXPECT_EQ(0u, NonDefaultConstructible::CopyConstructions); in TEST()
206 EXPECT_EQ(0u, NonDefaultConstructible::CopyAssignments); in TEST()
207 EXPECT_EQ(1u, NonDefaultConstructible::Destructions); in TEST()