cycle_ptr
|
Address range publisher. More...
#include <base_control.h>
Public Member Functions | |
publisher (void *addr, std::size_t len, base_control &bc) | |
Publish a base_control for an object at the given address. | |
~publisher () noexcept | |
Destructor, unpublishes the range. | |
Static Public Member Functions | |
static auto | lookup (void *addr, std::size_t len) -> intrusive_ptr< base_control > |
Perform a lookup, to figure out which control manages the given address range. More... | |
Address range publisher.
Publishes that a range of memory is managed by a specific control block, so that base_control and cycle_member_ptr can use automatic deduction of ownership.
|
static |
Perform a lookup, to figure out which control manages the given address range.
Finds the base_control for which a publisher is active. The range is usually smaller than the range managed by the control.
[in] | addr | Object offset for which to find a base_control. |
[in] | len | Sizeof the object for which to find a base control. |
std::runtime_error | if no pushlished range covers the argument range. |