31 lines
		
	
	
		
			740 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			740 B
		
	
	
	
		
			C++
		
	
	
	
| // PR9073
 | |
| template<typename _Tp>
 | |
| class shared_ptr{
 | |
| public:
 | |
|   template<class _Alloc, class ..._Args>
 | |
|   static
 | |
|   shared_ptr<_Tp>
 | |
|   allocate_shared(const _Alloc& __a, _Args&& ...__args);
 | |
| };
 | |
| 
 | |
| template<class _Tp>
 | |
| template<class _Alloc, class ..._Args>
 | |
| shared_ptr<_Tp>
 | |
| shared_ptr<_Tp>::allocate_shared(const _Alloc& __a, _Args&& ...__args)
 | |
| {
 | |
|   shared_ptr<_Tp> __r;
 | |
|   return __r;
 | |
| }
 | |
| 
 | |
| template<typename...Ts> struct outer {
 | |
|   template<Ts...Vs, template<Ts> class ...Cs> struct inner {
 | |
|     inner(Cs<Vs>...);
 | |
|   };
 | |
| };
 | |
| template struct outer<int, int>;
 | |
| 
 | |
| template<typename ...T> void take_nondependent_pack(int (...arr)[sizeof(sizeof(T))]);
 | |
| 
 | |
| template<typename T> using hide = int;
 | |
| template<typename ...T> void take_nondependent_pack_2(outer<hide<T>...>);
 |