Lines Matching defs:ref
39 * (Will only be called by \ref ref)
46 // Tag class used to track constructions of ref objects. When we track constructors, below, we
47 // track and print out the actual class (e.g. ref<MyObject>), and *also* add a fake tracker for
48 // ref_tag. This lets us check that the total number of ref<Anything> constructors/destructors is
49 // correct without having to check each individual ref<Whatever> type individually.
55 * The \a ref refeference template is a simple wrapper to store a
62 template <typename T> class ref {
65 ref() : m_ptr(nullptr) { print_default_created(this); track_default_created((ref_tag*) this); }
68 ref(T *ptr) : m_ptr(ptr) {
76 ref(const ref &r) : m_ptr(r.m_ptr) {
84 ref(ref &&r) : m_ptr(r.m_ptr) {
91 ~ref() {
99 ref& operator=(ref&& r) {
112 ref& operator=(const ref& r) {
126 ref& operator=(T *ptr) {
140 bool operator==(const ref &r) const { return m_ptr == r.m_ptr; }
143 bool operator!=(const ref &r) const { return m_ptr != r.m_ptr; }