blob: 24c9eceaabb6f0e09b9449ba836be87380ced8d7 [file] [log] [blame]
Howard Hinnantc52f43e2010-08-22 00:59:46 +00001//===----------------------------------------------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
Howard Hinnantb64f8b02010-11-16 22:09:02 +00005// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
Howard Hinnantc52f43e2010-08-22 00:59:46 +00007//
8//===----------------------------------------------------------------------===//
9
10// type_traits
11
12// template <class T, class... Args>
13// struct is_nothrow_constructible;
14
15#include <type_traits>
16
17#ifndef _LIBCPP_HAS_NO_VARIADICS
18
19class Empty
20{
21};
22
23class NotEmpty
24{
25 virtual ~NotEmpty();
26};
27
28union Union {};
29
30struct bit_zero
31{
32 int : 0;
33};
34
35class Abstract
36{
37 virtual ~Abstract() = 0;
38};
39
40struct A
41{
42 A(const A&);
43};
44
45#endif // _LIBCPP_HAS_NO_VARIADICS
46
47int main()
48{
49#ifndef _LIBCPP_HAS_NO_VARIADICS
50 static_assert((std::is_nothrow_constructible<int, const int>::value), "");
51#endif
52}