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 | MEMORY_OBSERVER_FLAGS : Int { DEFAULT, CLAIM_SHARED_OWNERSHIP, CLAIM_EXCLUSIVE_OWNERSHIP, KEEP_OBSERVER, INVOKE_WITH_UNLOCKED_TARGET } |
| enum | 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.