Classes | |
| struct | MemoryMetadataProxy | 
| class | WeakRefServices | 
Namespaces | |
| maxon | |
Typedefs | |
| using | MemoryObserverCallback = MEMORY_OBSERVER_FLAGS(*)(void *callbackData, const void *target, MEMORY_OBSERVER_STATE state) | 
| using | MemoryMetadataDestructor = void(*)(void *metadata) | 
Enumerations | |
| enum class | MEMORY_OBSERVER_FLAGS : Int {  DEFAULT , CLAIM_SHARED_OWNERSHIP , CLAIM_EXCLUSIVE_OWNERSHIP , KEEP_OBSERVER , INVOKE_WITH_UNLOCKED_TARGET }  | 
| enum class | MEMORY_OBSERVER_STATE : Int {  DEFAULT , TARGET_IS_LOCKED , TARGET_HAS_EXCLUSIVE_OWNERSHIP }  | 
Functions | |
| enum maxon::MEMORY_OBSERVER_FLAGS Int | MAXON_ENUM_FLAGS (MEMORY_OBSERVER_FLAGS) | 
| enum maxon::MEMORY_OBSERVER_STATE Int | MAXON_ENUM_FLAGS (MEMORY_OBSERVER_STATE) | 
Variables | |
| DEFAULT | |
| CLAIM_SHARED_OWNERSHIP | |
| CLAIM_EXCLUSIVE_OWNERSHIP | |
| KEEP_OBSERVER | |
| INVOKE_WITH_UNLOCKED_TARGET | |
| TARGET_IS_LOCKED | |
| TARGET_HAS_EXCLUSIVE_OWNERSHIP | |
| DEFAULT | 
Default behaviour: Continue with destruction, observer will be removed.
| CLAIM_SHARED_OWNERSHIP | 
The observer claims shared ownership of the target, do not destruct the object.
| CLAIM_EXCLUSIVE_OWNERSHIP | 
The first observer/creator claims exclusive ownership of the target, do not destruct the object.
| KEEP_OBSERVER | 
Do not delete the observer (usually only makes sense if ownership is claimed).
| INVOKE_WITH_UNLOCKED_TARGET | 
Ask to invoke the observer again without the target being locked (if you need to destruct associated objects).
| TARGET_IS_LOCKED | 
The target is locked and you must not directly or indireclty modify itself or any related objects.
| TARGET_HAS_EXCLUSIVE_OWNERSHIP | 
The target is exclusively owned and you cannot claim shared ownership.