Object Utilities
Utility functions and macros for Objects.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
🚀 QLI Version 2.1 is now live ! Switch to new version to check out the latest content
Utility functions and macros for Objects.
Object_releaseint32_t Object_release(OBJECT_CONSUMED Object o)
Object_retainint32_t Object_retain(Object o)
Object_replacevoid Object_replace(Object *loc, Object objNew)
OBJECT_NOT_RETAINED#define OBJECT_NOT_RETAINED
OBJECT_CONSUMED#define OBJECT_CONSUMED
Object_isNull#define Object_isNull ( (o).invoke == NULL )
Object_RELEASE_IF#define Object_RELEASE_IF do { Object o_ = (o); if (!Object_isNull(o_)) (void) Object_release(o_); } while (0)
Object_ASSIGN#define Object_ASSIGN Object_replace(&(loc), (obj))
Object_ASSIGN_NULL#define Object_ASSIGN_NULL Object_replace(&(loc), Object_NULL)
Object_INIT#define Object_INIT do { \
Object o_ = (obj); \
(loc) = o_; \
if (!Object_isNull(o_)) { \
Object_retain(o_); \
} \
} while(0)
