|
Internal Interface Wrap
API reference
|
Recursive mutex templated on a backend policy. More...
#include <PlatformMutex.h>
Public Member Functions | |
| PlatformMutexImpl () noexcept | |
| ~PlatformMutexImpl () noexcept | |
| PlatformMutexImpl (const PlatformMutexImpl &)=delete | |
| PlatformMutexImpl & | operator= (const PlatformMutexImpl &)=delete |
| PlatformMutexImpl (PlatformMutexImpl &&other) noexcept | |
| PlatformMutexImpl & | operator= (PlatformMutexImpl &&other) noexcept |
| bool | lock () noexcept |
| bool | try_lock () noexcept |
| bool | try_lock_for (uint32_t timeout_ms) noexcept |
| void | unlock () noexcept |
| auto | native_handle () const noexcept |
| Access the underlying platform handle (for interop / diagnostics) | |
| bool | Take (uint32_t timeout_ms=0) noexcept |
| void | Give () noexcept |
| bool | lock_shared () noexcept |
| bool | try_lock_shared () noexcept |
| bool | try_lock_shared_for (uint32_t timeout_ms) noexcept |
| void | unlock_shared () noexcept |
Private Attributes | |
| Backend::RecursiveMutexHandle | handle_ |
Recursive mutex templated on a backend policy.
When Backend = NullMutexBackend, the entire class compiles to nothing (1-byte handle member, all methods are no-ops). When a real RTOS backend is injected, this provides thread-safe recursive locking.
| Backend | Static policy class satisfying the NullMutexBackend contract. |
|
inlinenoexcept |
|
inlinenoexcept |
|
delete |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Access the underlying platform handle (for interop / diagnostics)
|
delete |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
private |