| // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| #include "scoped_refptr.h" |
| struct HasAScopedRefptr { |
| scoped_refptr<Foo> member; |
| const scoped_refptr<Foo>& GetMemberAsScopedRefptr() const { return member; } |
| Foo* GetMemberAsRawPtr() const { return member.get(); } |
| void ExpectsRawPtr(Foo* param) { |
| void ExpectsScopedRefptr(const scoped_refptr<Foo>& param) { |
| void CallsRawWithMemberScopedRefptr() { |
| ExpectsRawPtr(object.GetMemberAsScopedRefptr().get()); |
| void CallsRawWithMemberRawPtr() { |
| ExpectsRawPtr(object.GetMemberAsRawPtr()); |
| void CallsScopedWithMemberScopedRefptr() { |
| ExpectsScopedRefptr(object.GetMemberAsScopedRefptr()); |
| void CallsScopedWithMemberRawPtr() { |
| ExpectsScopedRefptr(object.GetMemberAsScopedRefptr()); |