Home | History | Annotate | Download | only in test
      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.
      4 
      5 #ifndef BASE_TEST_OPAQUE_REF_COUNTED_H_
      6 #define BASE_TEST_OPAQUE_REF_COUNTED_H_
      7 
      8 #include "base/memory/ref_counted.h"
      9 
     10 namespace base {
     11 
     12 // OpaqueRefCounted is a test class for scoped_refptr to ensure it still works
     13 // when the pointed-to type is opaque (i.e., incomplete).
     14 class OpaqueRefCounted;
     15 
     16 // Test functions that return and accept scoped_refptr<OpaqueRefCounted> values.
     17 scoped_refptr<OpaqueRefCounted> MakeOpaqueRefCounted();
     18 void TestOpaqueRefCounted(scoped_refptr<OpaqueRefCounted> p);
     19 
     20 }  // namespace base
     21 
     22 extern template class scoped_refptr<base::OpaqueRefCounted>;
     23 
     24 #endif  // BASE_TEST_OPAQUE_REF_COUNTED_H_
     25