Lines Matching refs:Base
33 struct Base {};
34 struct Derived : Base {};
35 struct Derived2 : Base {};
37 struct Private : private Base {};
38 struct Protected : protected Base {};
99 // cv1 Base * cv2
102 assert_catches< Base * , Derived *, Derived>();
103 assert_catches<const Base * , Derived *, Derived>();
104 assert_catches< volatile Base * , Derived *, Derived>();
105 assert_catches<const volatile Base * , Derived *, Derived>();
106 assert_catches< Base * const , Derived *, Derived>();
107 assert_catches<const Base * const , Derived *, Derived>();
108 assert_catches< volatile Base * const , Derived *, Derived>();
109 assert_catches<const volatile Base * const , Derived *, Derived>();
110 assert_catches< Base * volatile, Derived *, Derived>();
111 assert_catches<const Base * volatile, Derived *, Derived>();
112 assert_catches< volatile Base * volatile, Derived *, Derived>();
113 assert_catches<const volatile Base * volatile, Derived *, Derived>();
114 assert_catches< Base * const volatile, Derived *, Derived>();
115 assert_catches<const Base * const volatile, Derived *, Derived>();
116 assert_catches< volatile Base * const volatile, Derived *, Derived>();
117 assert_catches<const volatile Base * const volatile, Derived *, Derived>();
123 // cv1 Base * cv2
125 // Base *
126 assert_catches< Base * , Base *, Derived>();
127 assert_catches<const Base * , Base *, Derived>();
128 assert_catches< volatile Base * , Base *, Derived>();
129 assert_catches<const volatile Base * , Base *, Derived>();
130 assert_catches< Base * const , Base *, Derived>();
131 assert_catches<const Base * const , Base *, Derived>();
132 assert_catches< volatile Base * const , Base *, Derived>();
133 assert_catches<const volatile Base * const , Base *, Derived>();
134 assert_catches< Base * volatile, Base *, Derived>();
135 assert_catches<const Base * volatile, Base *, Derived>();
136 assert_catches< volatile Base * volatile, Base *, Derived>();
137 assert_catches<const volatile Base * volatile, Base *, Derived>();
138 assert_catches< Base * const volatile, Base *, Derived>();
139 assert_catches<const Base * const volatile, Base *, Derived>();
140 assert_catches< volatile Base * const volatile, Base *, Derived>();
141 assert_catches<const volatile Base * const volatile, Base *, Derived>();
173 // Base *
174 assert_cannot_catch< Derived * , Base *, Derived>();
175 assert_cannot_catch<const Derived * , Base *, Derived>();
176 assert_cannot_catch< volatile Derived * , Base *, Derived>();
177 assert_cannot_catch<const volatile Derived * , Base *, Derived>();
178 assert_cannot_catch< Derived * const , Base *, Derived>();
179 assert_cannot_catch<const Derived * const , Base *, Derived>();
180 assert_cannot_catch< volatile Derived * const , Base *, Derived>();
181 assert_cannot_catch<const volatile Derived * const , Base *, Derived>();
182 assert_cannot_catch< Derived * volatile, Base *, Derived>();
183 assert_cannot_catch<const Derived * volatile, Base *, Derived>();
184 assert_cannot_catch< volatile Derived * volatile, Base *, Derived>();
185 assert_cannot_catch<const volatile Derived * volatile, Base *, Derived>();
186 assert_cannot_catch< Derived * const volatile, Base *, Derived>();
187 assert_cannot_catch<const Derived * const volatile, Base *, Derived>();
188 assert_cannot_catch< volatile Derived * const volatile, Base *, Derived>();
189 assert_cannot_catch<const volatile Derived * const volatile, Base *, Derived>();
219 // cv1 Base * cv2 &
221 // Base *
222 assert_catches< Base * &, Base *, Derived>();
223 assert_catches<const Base * &, Base *, Derived>();
224 assert_catches< volatile Base * &, Base *, Derived>();
225 assert_catches<const volatile Base * &, Base *, Derived>();
226 assert_catches< Base * const &, Base *, Derived>();
227 assert_catches<const Base * const &, Base *, Derived>();
228 assert_catches< volatile Base * const &, Base *, Derived>();
229 assert_catches<const volatile Base * const &, Base *, Derived>();
230 assert_catches< Base * volatile &, Base *, Derived>();
231 assert_catches<const Base * volatile &, Base *, Derived>();
232 assert_catches< volatile Base * volatile &, Base *, Derived>();
233 assert_catches<const volatile Base * volatile &, Base *, Derived>();
234 assert_catches< Base * const volatile &, Base *, Derived>();
235 assert_catches<const Base * const volatile &, Base *, Derived>();
236 assert_catches< volatile Base * const volatile &, Base *, Derived>();
237 assert_catches<const volatile Base * const volatile &, Base *, Derived>();
246 // Base *
247 assert_cannot_catch< Derived * &, Base *, Derived>();
248 assert_cannot_catch<const Derived * &, Base *, Derived>();
249 assert_cannot_catch< volatile Derived * &, Base *, Derived>();
250 assert_cannot_catch<const volatile Derived * &, Base *, Derived>();
251 assert_cannot_catch< Derived * const &, Base *, Derived>();
252 assert_cannot_catch<const Derived * const &, Base *, Derived>();
253 assert_cannot_catch< volatile Derived * const &, Base *, Derived>();
254 assert_cannot_catch<const volatile Derived * const &, Base *, Derived>();
255 assert_cannot_catch< Derived * volatile &, Base *, Derived>();
256 assert_cannot_catch<const Derived * volatile &, Base *, Derived>();
257 assert_cannot_catch< volatile Derived * volatile &, Base *, Derived>();
258 assert_cannot_catch<const volatile Derived * volatile &, Base *, Derived>();
259 assert_cannot_catch< Derived * const volatile &, Base *, Derived>();
260 assert_cannot_catch<const Derived * const volatile &, Base *, Derived>();
261 assert_cannot_catch< volatile Derived * const volatile &, Base *, Derived>();
262 assert_cannot_catch<const volatile Derived * const volatile &, Base *, Derived>();
288 // cv1 Base * cv2 &
291 assert_catches< Base * &, Derived *, Derived>();
292 assert_catches<const Base * &, Derived *, Derived>();
293 assert_catches< volatile Base * &, Derived *, Derived>();
294 assert_catches<const volatile Base * &, Derived *, Derived>();
295 assert_catches< Base * const &, Derived *, Derived>();
296 assert_catches<const Base * const &, Derived *, Derived>();
297 assert_catches< volatile Base * const &, Derived *, Derived>();
298 assert_catches<const volatile Base * const &, Derived *, Derived>();
299 assert_catches< Base * volatile &, Derived *, Derived>();
300 assert_catches<const Base * volatile &, Derived *, Derived>();
301 assert_catches< volatile Base * volatile &, Derived *, Derived>();
302 assert_catches<const volatile Base * volatile &, Derived *, Derived>();
303 assert_catches< Base * const volatile &, Derived *, Derived>();
304 assert_catches<const Base * const volatile &, Derived *, Derived>();
305 assert_catches< volatile Base * const volatile &, Derived *, Derived>();
306 assert_catches<const volatile Base * const volatile &, Derived *, Derived>();
312 // cv1 Base * cv2
315 assert_cannot_catch< Base * , Ambiguous *, Ambiguous>();
316 assert_cannot_catch<const Base * , Ambiguous *, Ambiguous>();
317 assert_cannot_catch< volatile Base * , Ambiguous *, Ambiguous>();
318 assert_cannot_catch<const volatile Base * , Ambiguous *, Ambiguous>();
319 assert_cannot_catch< Base * const , Ambiguous *, Ambiguous>();
320 assert_cannot_catch<const Base * const , Ambiguous *, Ambiguous>();
321 assert_cannot_catch< volatile Base * const , Ambiguous *, Ambiguous>();
322 assert_cannot_catch<const volatile Base * const , Ambiguous *, Ambiguous>();
323 assert_cannot_catch< Base * volatile, Ambiguous *, Ambiguous>();
324 assert_cannot_catch<const Base * volatile, Ambiguous *, Ambiguous>();
325 assert_cannot_catch< volatile Base * volatile, Ambiguous *, Ambiguous>();
326 assert_cannot_catch<const volatile Base * volatile, Ambiguous *, Ambiguous>();
327 assert_cannot_catch< Base * const volatile, Ambiguous *, Ambiguous>();
328 assert_cannot_catch<const Base * const volatile, Ambiguous *, Ambiguous>();
329 assert_cannot_catch< volatile Base * const volatile, Ambiguous *, Ambiguous>();
330 assert_cannot_catch<const volatile Base * const volatile, Ambiguous *, Ambiguous>();
336 // cv1 Base * cv2
339 assert_cannot_catch< Base * , Private *, Private>();
340 assert_cannot_catch<const Base * , Private *, Private>();
341 assert_cannot_catch< volatile Base * , Private *, Private>();
342 assert_cannot_catch<const volatile Base * , Private *, Private>();
343 assert_cannot_catch< Base * const , Private *, Private>();
344 assert_cannot_catch<const Base * const , Private *, Private>();
345 assert_cannot_catch< volatile Base * const , Private *, Private>();
346 assert_cannot_catch<const volatile Base * const , Private *, Private>();
347 assert_cannot_catch< Base * volatile, Private *, Private>();
348 assert_cannot_catch<const Base * volatile, Private *, Private>();
349 assert_cannot_catch< volatile Base * volatile, Private *, Private>();
350 assert_cannot_catch<const volatile Base * volatile, Private *, Private>();
351 assert_cannot_catch< Base * const volatile, Private *, Private>();
352 assert_cannot_catch<const Base * const volatile, Private *, Private>();
353 assert_cannot_catch< volatile Base * const volatile, Private *, Private>();
354 assert_cannot_catch<const volatile Base * const volatile, Private *, Private>();
360 // cv1 Base * cv2
363 assert_cannot_catch< Base * , Protected *, Protected>();
364 assert_cannot_catch<const Base * , Protected *, Protected>();
365 assert_cannot_catch< volatile Base * , Protected *, Protected>();
366 assert_cannot_catch<const volatile Base * , Protected *, Protected>();
367 assert_cannot_catch< Base * const , Protected *, Protected>();
368 assert_cannot_catch<const Base * const , Protected *, Protected>();
369 assert_cannot_catch< volatile Base * const , Protected *, Protected>();
370 assert_cannot_catch<const volatile Base * const , Protected *, Protected>();
371 assert_cannot_catch< Base * volatile, Protected *, Protected>();
372 assert_cannot_catch<const Base * volatile, Protected *, Protected>();
373 assert_cannot_catch< volatile Base * volatile, Protected *, Protected>();
374 assert_cannot_catch<const volatile Base * volatile, Protected *, Protected>();
375 assert_cannot_catch< Base * const volatile, Protected *, Protected>();
376 assert_cannot_catch<const Base * const volatile, Protected *, Protected>();
377 assert_cannot_catch< volatile Base * const volatile, Protected *, Protected>();
378 assert_cannot_catch<const volatile Base * const volatile, Protected *, Protected>();
384 // cv1 Base * cv2 &
387 assert_cannot_catch< Base * &, Private *, Private>();
388 assert_cannot_catch<const Base * &, Private *, Private>();
389 assert_cannot_catch< volatile Base * &, Private *, Private>();
390 assert_cannot_catch<const volatile Base * &, Private *, Private>();
391 assert_cannot_catch< Base * const &, Private *, Private>();
392 assert_cannot_catch<const Base * const &, Private *, Private>();
393 assert_cannot_catch< volatile Base * const &, Private *, Private>();
394 assert_cannot_catch<const volatile Base * const &, Private *, Private>();
395 assert_cannot_catch< Base * volatile &, Private *, Private>();
396 assert_cannot_catch<const Base * volatile &, Private *, Private>();
397 assert_cannot_catch< volatile Base * volatile &, Private *, Private>();
398 assert_cannot_catch<const volatile Base * volatile &, Private *, Private>();
399 assert_cannot_catch< Base * const volatile &, Private *, Private>();
400 assert_cannot_catch<const Base * const volatile &, Private *, Private>();
401 assert_cannot_catch< volatile Base * const volatile &, Private *, Private>();
402 assert_cannot_catch<const volatile Base * const volatile &, Private *, Private>();
408 // cv1 Base * cv2 &
411 assert_cannot_catch< Base * &, Protected *, Protected>();
412 assert_cannot_catch<const Base * &, Protected *, Protected>();
413 assert_cannot_catch< volatile Base * &, Protected *, Protected>();
414 assert_cannot_catch<const volatile Base * &, Protected *, Protected>();
415 assert_cannot_catch< Base * const &, Protected *, Protected>();
416 assert_cannot_catch<const Base * const &, Protected *, Protected>();
417 assert_cannot_catch< volatile Base * const &, Protected *, Protected>();
418 assert_cannot_catch<const volatile Base * const &, Protected *, Protected>();
419 assert_cannot_catch< Base * volatile &, Protected *, Protected>();
420 assert_cannot_catch<const Base * volatile &, Protected *, Protected>();
421 assert_cannot_catch< volatile Base * volatile &, Protected *, Protected>();
422 assert_cannot_catch<const volatile Base * volatile &, Protected *, Protected>();
423 assert_cannot_catch< Base * const volatile &, Protected *, Protected>();
424 assert_cannot_catch<const Base * const volatile &, Protected *, Protected>();
425 assert_cannot_catch< volatile Base * const volatile &, Protected *, Protected>();
426 assert_cannot_catch<const volatile Base * const volatile &, Protected *, Protected>();