145
|
1 // -*- C++ -*-
|
|
2 #pragma GCC system_header
|
|
3
|
|
4 using size_t = decltype(sizeof(42));
|
|
5 inline void * operator new (size_t, void *p) noexcept { return p; }
|
|
6
|
|
7 template<typename _Up, typename... _Args>
|
|
8 void
|
|
9 construct1(_Up* __p, _Args... __args)
|
|
10 noexcept(noexcept(::new((void *)__p) _Up(__args...)))
|
|
11 { ::new((void *)__p) _Up(__args...); }
|
|
12
|
|
13 template<typename _Up, typename... _Args>
|
|
14 void
|
|
15 construct2(_Up* __p, _Args... __args)
|
|
16 noexcept(noexcept(::new((void *)__p) _Up(__args...)))
|
|
17 { ::new((void *)__p) _Up(__args...); }
|
|
18
|
|
19 class Automatic1 {
|
|
20 public:
|
|
21 Automatic1(size_t bla) : Bla(bla) {};
|
|
22
|
|
23 private:
|
|
24 size_t Bla;
|
|
25 };
|