1*f4a2713aSLionel Sambuc // PR9073 2*f4a2713aSLionel Sambuc template<typename _Tp> 3*f4a2713aSLionel Sambuc class shared_ptr{ 4*f4a2713aSLionel Sambuc public: 5*f4a2713aSLionel Sambuc template<class _Alloc, class ..._Args> 6*f4a2713aSLionel Sambuc static 7*f4a2713aSLionel Sambuc shared_ptr<_Tp> 8*f4a2713aSLionel Sambuc allocate_shared(const _Alloc& __a, _Args&& ...__args); 9*f4a2713aSLionel Sambuc }; 10*f4a2713aSLionel Sambuc 11*f4a2713aSLionel Sambuc template<class _Tp> 12*f4a2713aSLionel Sambuc template<class _Alloc, class ..._Args> 13*f4a2713aSLionel Sambuc shared_ptr<_Tp> allocate_shared(const _Alloc & __a,_Args &&...__args)14*f4a2713aSLionel Sambucshared_ptr<_Tp>::allocate_shared(const _Alloc& __a, _Args&& ...__args) 15*f4a2713aSLionel Sambuc { 16*f4a2713aSLionel Sambuc shared_ptr<_Tp> __r; 17*f4a2713aSLionel Sambuc return __r; 18*f4a2713aSLionel Sambuc } 19*f4a2713aSLionel Sambuc 20*f4a2713aSLionel Sambuc template<typename...Ts> struct outer { 21*f4a2713aSLionel Sambuc template<Ts...Vs, template<Ts> class ...Cs> struct inner { 22*f4a2713aSLionel Sambuc inner(Cs<Vs>...); 23*f4a2713aSLionel Sambuc }; 24*f4a2713aSLionel Sambuc }; 25*f4a2713aSLionel Sambuc template struct outer<int, int>; 26