view gcc/testsuite/g++.dg/overload/autoptr1.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line source

// PR c++/35773

template< typename T >
class auto_ptr
{
  struct auto_ptr_ref { };
public:
  auto_ptr(auto_ptr&);
  auto_ptr(auto_ptr_ref);

  operator auto_ptr_ref();
};

template< typename T >
class reference_wrapper
{
public:
  reference_wrapper(T& t);
  operator T& () const;
};

struct X { };

void f(auto_ptr< X >);

void g(reference_wrapper< auto_ptr< X > > r)
{
  f(r);
}