ZT_NOT_NULL, zt_not_null — construct a claim that a pointer is not NULL
Contents
Description
zt_not_null() constructs a claim that a given pointer is not NULL. It should be used through the macro
ZT_NOT_NULL(), which passes source code location and packs argument.
ZT_NOT_NULL() can be useful, when coupled with zt_assert(), to ensure that an object was correctly
produced, allocated or returned and that the reminder of the test can inspect its properties using
zt_check().
History
The ZT_NOT_NULL() macro and the zt_not_null() function first appeared in libzt 0.1
Implementation Notes
ZT_NOT_NULL() evaluates value only once.
Name
ZT_NOT_NULL, zt_not_null — construct a claim that a pointer is not NULL
Return Values
Both the macro and the function return a zt_claim structure with the appropriate attributes set. The
returned claim is usually passed to zt_check() or to zt_assert().
See Also
zt_assert(3), zt_check(3), zt_claim(3), ZT_CMP_BOOL(3), ZT_CMP_RUNE(3), ZT_CMP_CSTR(3), ZT_CMP_INT(3), ZT_CMP_PTR(3), ZT_CMP_UINT(3), ZT_FALSE(3), ZT_NOT_NULL(3), ZT_NOT_NULL(3) zt_value(3),
Synopsis
#include<zt.h>
#define ZT_NOT_NULL(value) \
zt_not_null( \
ZT_CURRENT_LOCATION(), \
zt_pack_pointer((value), #value))
zt_claimzt_not_null(zt_locationlocation, zt_valuevalue);
