Class SingleThreadedRefTracker¶
Defined in File ref_tracker.hpp
Inheritance Relationships¶
Base Type¶
public wrench::RefTracker< SingleThreadedRefTracker >(Template Class RefTracker)
Class Documentation¶
-
class
wrench::SingleThreadedRefTracker: public wrench::RefTracker<SingleThreadedRefTracker>¶ This type implements a reference tracker which is not thread safe and is designed for single threaded use. It can be embedded inside a class for intrusive reference tracking.
This implements the RefTracker interface.
Public Types
-
using
Counter= size_t¶ Defines the type of the counter.
Public Functions
-
auto add_reference_impl () noexcept -> void Adds a reference to the count.
-
auto release_impl () noexcept -> bool Decrements the referene count, returning true if the count is zero, and the resource can be released.
-
template<typename T, typename Deleter> auto destroy_resource_impl (T *resource, Deleter &&deleter) noexcept -> void Destroys the resource
resource, using thedeleter, which should have a signature of:auto destructor = [] (auto* resource) -> void { // free(resource); }
- Parameters
resource: The resource to destroy.deleter: The deleter for the resource.
- Template Parameters
T: The type of the resource.Deleter: The type of the deleter.
-
using