Lines Matching refs:fbl

5 #include <fbl/alloc_checker.h>
6 #include <fbl/ref_ptr.h>
7 #include <fbl/ref_counted.h>
8 #include <fbl/unique_ptr.h>
9 #include <fbl/type_support.h>
17 struct PtrTraits<fbl::unique_ptr<T>> {
18 using ObjType = typename fbl::remove_cv<T>::type;
19 static fbl::unique_ptr<T> MakePointer(T* raw) { return fbl::unique_ptr<T>(raw); }
23 struct PtrTraits<fbl::RefPtr<T>> {
24 using ObjType = typename fbl::remove_cv<T>::type;
25 static fbl::RefPtr<T> MakePointer(T* raw) { return fbl::AdoptRef<T>(raw); }
40 public fbl::Recyclable<TestPublicRecycle> {
49 public fbl::RefCounted<RefedTestPublicRecycle>,
50 public fbl::Recyclable<RefedTestPublicRecycle> {
59 public fbl::Recyclable<TestPrivateRecycle> {
61 friend class fbl::Recyclable<TestPrivateRecycle>;
69 public fbl::RefCounted<RefedTestPrivateRecycle>,
70 public fbl::Recyclable<RefedTestPrivateRecycle> {
72 friend class fbl::Recyclable<RefedTestPrivateRecycle>;
79 struct FailNoMethod : public fbl::Recyclable<FailNoMethod> { };
80 struct FailBadRet : public fbl::Recyclable<FailBadRet> { int fbl_recycle() { return 1; } };
81 struct FailBadArg : public fbl::Recyclable<FailBadArg> { void fbl_recycle(int a = 1) {} };
82 class FailNotVis : public fbl::Recyclable<FailNotVis> { void fbl_recycle() {} };
85 struct FailCVBase1 : public fbl::Recyclable<const FailCVBase1> { void fbl_recycle() {} };
88 struct FailCVBase2 : public fbl::Recyclable<volatile FailCVBase2> { void fbl_recycle() {} };
91 struct FailCVBase3 : public fbl::Recyclable<const volatile FailCVBase3> { void fbl_recycle() {} };
98 fbl::AllocChecker ac;
114 do_test<fbl::unique_ptr<TestPublicRecycle>>)
116 do_test<fbl::unique_ptr<const TestPublicRecycle>>)
118 do_test<fbl::unique_ptr<volatile TestPublicRecycle>>)
120 do_test<fbl::unique_ptr<const volatile TestPublicRecycle>>)
122 do_test<fbl::unique_ptr<TestPrivateRecycle>>)
124 do_test<fbl::unique_ptr<const TestPrivateRecycle>>)
126 do_test<fbl::unique_ptr<volatile TestPrivateRecycle>>)
128 do_test<fbl::unique_ptr<const volatile TestPrivateRecycle>>)
130 do_test<fbl::RefPtr<RefedTestPublicRecycle>>)
132 do_test<fbl::RefPtr<RefedTestPrivateRecycle>>)
137 do_test<fbl::RefPtr<const RefedTestPublicRecycle>>)
139 do_test<fbl::RefPtr<volatile RefedTestPublicRecycle>>)
141 do_test<fbl::RefPtr<const volatile RefedTestPublicRecycle>>)
143 do_test<fbl::RefPtr<const RefedTestPrivateRecycle>>)
145 do_test<fbl::RefPtr<volatile RefedTestPrivateRecycle>>)
147 do_test<fbl::RefPtr<const volatile RefedTestPrivateRecycle>>)
150 RUN_NAMED_TEST("FailNoMethod", do_test<fbl::unique_ptr<FailNoMethod>>);
153 RUN_NAMED_TEST("FailBadRet", do_test<fbl::unique_ptr<FailBadRet>>);
156 RUN_NAMED_TEST("FailBadArg", do_test<fbl::unique_ptr<FailBadArg>>);
159 RUN_NAMED_TEST("FailNotVis", do_test<fbl::unique_ptr<FailBadArg>>);