view clang/test/PCH/cxx-variadic-templates.h @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 1d019706d866
children
line wrap: on
line source

// 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>...>);