// Copyright 2014 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 "base/test/opaque_ref_counted.h" #include "base/macros.h" #include "testing/gtest/include/gtest/gtest.h" namespace base { class OpaqueRefCounted : public RefCounted { public: OpaqueRefCounted() {} int Return42() { return 42; } private: virtual ~OpaqueRefCounted() {} friend RefCounted; DISALLOW_COPY_AND_ASSIGN(OpaqueRefCounted); }; scoped_refptr MakeOpaqueRefCounted() { return new OpaqueRefCounted(); } void TestOpaqueRefCounted(scoped_refptr p) { EXPECT_EQ(42, p->Return42()); } } // namespace base template class scoped_refptr;