Abstract class of a clock tree element that will not block to perform element updates and will not fail when performing clock updates.
Public Member Functions | |
void | Acquire () |
Acquire a reference to this clock tree element. | |
void | Release () |
Release a reference to this clock tree element. | |
![]() | |
constexpr | Element (bool may_block) |
uint32_t | ref_count () const |
Get reference count for this clock tree element. | |
bool | may_block () const |
Check whether acquiring or releasing the element may block. | |
Element (const Element &)=delete | |
Element (const Element &&)=delete | |
Element & | operator= (const Element &)=delete |
Element & | operator= (const Element &&)=delete |
Status | Acquire () |
Status | Release () |
Status | AcquireWith (Element &element_with) |
Static Public Attributes | |
static constexpr bool | kMayFail = false |
![]() | |
static constexpr bool | kMayBlock = false |
static constexpr bool | kMayFail = true |
Additional Inherited Members | |
![]() | |
sync::InterruptSpinLock & | lock () |
![]() | |
virtual Status | DoAcquireLocked ()=0 |
virtual Status | DoReleaseLocked ()=0 |
uint32_t | IncRef () |
Increment reference count and return incremented value. | |
uint32_t | DecRef () |
Decrement reference count and return decremented value. | |
virtual Status | DoEnable ()=0 |
Function called when the clock tree element needs to get enabled. | |
virtual Status | DoDisable () |