Classes | |
| class | ForwardFree< IS_DELETABLE > |
| class | ForwardFree< true > |
| class | NewDelete< T > |
Namespaces | |
| maxon | |
| maxon::details | |
Macros | |
| #define | NewObj(T, ...) |
| #define | NewObjPtr(T, ...) |
| #define | DeleteObj(obj) |
| #define | PrivateDeleteObj(objectToDelete) |
Functions | |
| template<typename T > | |
| void | PrivateFreeWithDestructor (const T *obj, OverloadRank0) |
| Bool | PrivateClearAllWeakReferences (const void *obj) |
| template<typename T , typename... ARGS> | |
| ResultPtr< T > | NewObjWithLocation (MAXON_SOURCE_LOCATION_DECLARATION, ARGS &&... args) |
| template<typename T , typename... ARGS> | |
| ResultPtr< T > | NewObjT (ARGS &&... args) |
| template<typename T > | |
| MAXON_ATTRIBUTE_FORCE_INLINE void | DeleteConstPtrObj (T *o) |
| #define NewObj | ( | T, | |
| ... | |||
| ) |
Creates an object with constructor parameters (using new or T::Alloc, depending on the type). This does not throw any kind of exception, it returns null if the allocation fails. NewObj does not clear the memory.
| [in] | T | Type of object. |
| [in] | ... | Additional constructor parameters. |
| #define NewObjPtr | ( | T, | |
| ... | |||
| ) |
Deprecated.
| #define DeleteObj | ( | obj | ) |
Deletes an object. This expects a pointer as argument, the object is deleted using the destructor or T::Free, depending on the type of the object. If the destructor is private System::FreeWithDestructor() cannot be called; the destructor is called inline (after clearing weak references) and then the memory is released.
| [in,out] | obj | Object pointer (can be nullptr, will be nullptr after return) |
| #define PrivateDeleteObj | ( | objectToDelete | ) |