31 lines · c
1// PR90732template<typename _Tp>3class shared_ptr{4public:5 template<class _Alloc, class ..._Args>6 static7 shared_ptr<_Tp>8 allocate_shared(const _Alloc& __a, _Args&& ...__args);9};10 11template<class _Tp>12template<class _Alloc, class ..._Args>13shared_ptr<_Tp>14shared_ptr<_Tp>::allocate_shared(const _Alloc& __a, _Args&& ...__args)15{16 shared_ptr<_Tp> __r;17 return __r;18}19 20template<typename...Ts> struct outer {21 template<Ts...Vs, template<Ts> class ...Cs> struct inner {22 inner(Cs<Vs>...);23 };24};25template struct outer<int, int>;26 27template<typename ...T> void take_nondependent_pack(int (...arr)[sizeof(sizeof(T))]);28 29template<typename T> using hide = int;30template<typename ...T> void take_nondependent_pack_2(outer<hide<T>...>);31