|
PStack
2.0
Stack trace printer for MSVC and GCC binaries
|
A control block for a shared_handle with a user-specified deleter. More...


Public Types | |
| using | deleter_type = D |
| The facility used to clean handle resources. | |
Public Member Functions | |
| shared_handle_data_with_delete (deleter_type const &deleter) noexcept | |
| Construct this instance with a custom deleter. More... | |
| shared_handle_data_with_delete (deleter_type &&deleter) noexcept | |
| Construct this instance by taking ownership of a deleter. More... | |
| virtual void | delete_handle (T hndl) noexcept override |
| Invoke the provided deleter to clean up handle resources. More... | |
Public Member Functions inherited from psystem::shared_handle< T, kInvalidHandle >::shared_handle_data | |
| shared_handle_data () noexcept | |
| Initialize a usage count of 1 and a weak-usage count of 1. | |
| virtual | ~shared_handle_data () noexcept |
| Provide a virtual destructor for polymorphic deletion. | |
Public Attributes | |
| deleter_type | m_deleter |
| A user-provided handle deletion utility. | |
Public Attributes inherited from psystem::shared_handle< T, kInvalidHandle >::shared_handle_data | |
| std::atomic< size_t > | m_usage_count |
| The count of shared_handle instances that are managing this handle. | |
| std::atomic< size_t > | m_weak_count |
| The "weak" reference count (manages the control block). More... | |
A control block for a shared_handle with a user-specified deleter.
| D | The deleter type. It should be callable with the function signature, "void(T handle)". |
|
inlineexplicitnoexcept |
Construct this instance with a custom deleter.
| [in] | deleter | The deleter to copy into this instance. |
|
inlineexplicitnoexcept |
Construct this instance by taking ownership of a deleter.
| [in] | deleter | The deleter to own. |
|
inlineoverridevirtualnoexcept |
Invoke the provided deleter to clean up handle resources.
| [in] | hndl | The handle to close. |
Reimplemented from psystem::shared_handle< T, kInvalidHandle >::shared_handle_data.