1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/test/opaque_ref_counted.h"
7 #include "base/macros.h"
8 #include "testing/gtest/include/gtest/gtest.h"
12 class OpaqueRefCounted
: public RefCounted
<OpaqueRefCounted
> {
16 int Return42() { return 42; }
19 virtual ~OpaqueRefCounted() {}
21 friend RefCounted
<OpaqueRefCounted
>;
22 DISALLOW_COPY_AND_ASSIGN(OpaqueRefCounted
);
25 scoped_refptr
<OpaqueRefCounted
> MakeOpaqueRefCounted() {
26 return new OpaqueRefCounted();
29 void TestOpaqueRefCounted(scoped_refptr
<OpaqueRefCounted
> p
) {
30 EXPECT_EQ(42, p
->Return42());
35 template class scoped_refptr
<base::OpaqueRefCounted
>;