Lines Matching refs:RefBase

49 class RefBase;
58 * of references to the corresponding RefBase object and one kind
74 * RefBase object.
77 friend class RefBase;
91 * the corresponding RefBase object.
130 * corresponding RefBase object by 1.
138 * corresponding RefBase object by 1.
148 * corresponding RefBase object.
156 * corresponding RefBase object by 1.
164 * corresponding RefBase object by 1.
168 * corresponding RefBase object with no strong reference ever,
169 * or the RefBase object with 0 strong reference but an extended
176 * corresponding RefBase object.
207 * corresponding RefBase object by 1.
218 * the corresponding RefBase object by 1 (simplified).
226 * @brief Checks if the corresponding RefBase object
234 * @brief Extends the life-time of corresponding RefBase object.
238 * @note The RefBase object will be deallocated
268 RefPtrCallback callback_ = nullptr; // Callback function to deallocate the corresponding RefBase object
293 * to the correspond RefBase object.
296 * It holds the references to the corresponding RefBase and RefCounter object.
307 * @param cookie Pointer to corresponding RefBase object.
314 * @brief Gets the current pointer to the corresponding RefBase object.
316 * @return A void pointer to the RefBase object.
319 * since it can be any subclass of RefBase.
352 * the corresponding RefBase object (to promote a wptr to a sptr).
364 // the corresponding RefBase object
365 void *cookie_ = nullptr; // Pointer to the corresponding RefBase object
373 * derived from RefBase.
375 class RefBase {
377 RefBase();
380 * @brief Copy constructor of RefBase.
383 * and binds it to the RefBase object.
385 RefBase(const RefBase &);
388 * @brief Copy assignment operator of RefBase.
390 * @note This function unbinds this RefBase object from the
394 RefBase &operator=(const RefBase &);
397 * @brief Move constructor of RefBase.
399 RefBase(RefBase &&other) noexcept;
402 * @brief Move assignment operator of RefBase.
404 * @note This function binds this RefBase object with the RefCounter
408 RefBase &operator=(RefBase &&other) noexcept;
410 virtual ~RefBase();
416 * this RefBase object by simply calling `delete(this)`.
421 * @brief Extends the life time of the RefBase object.
461 * @brief Creates a weak reference to this RefBase object.
463 * @param cookie Void pointer to this RefBase object.
515 * This interface must come after the RefBase::AttemptIncStrong or RefBase::AttemptAcquire function,
556 * @brief Checks if the life time of this RefBase object has been extended.
558 * @return `true` if the life time of this RefBase object has been extended;
559 * `false` if the RefBase object has a normal life time or the corresponding
593 * @brief Enables tracking of the RefBase object. This function will
604 // counter of this RefBase object
612 * @brief Strong reference smart pointer to a RefBase object
615 * It directly reference the RefBase object.
618 * This class must inherit from RefBase.
1053 * @brief Weak reference smart pointer to a RefBase object
1056 * A weak reference indirectly references the RefBase object
1060 * This class must inherit from RefBase.
1281 * @brief Gets the pointer to the RefBase object.
1283 * @return Raw pointer to the RefBase object.