Macro helpers and symbols module

Contents

This module contains many useful macros helpful for debugging as well as development itself.

Typedefs

using zpl_u8 = uint8_t
using zpl_i8 = int8_t
using zpl_u16 = uint16_t
using zpl_i16 = int16_t
using zpl_u32 = uint32_t
using zpl_i32 = int32_t
using zpl_u64 = uint64_t
using zpl_i64 = int64_t
using static_assertion_static_assertion_at_line___LINE__ = char[(!!(sizeof(zpl_u8)==sizeof(zpl_i8)))*2 - 1]
using zpl_usize = size_t
using zpl_isize = ptrdiff_t
using zpl_uintptr = uintptr_t
using zpl_intptr = intptr_t
using zpl_f32 = float
using zpl_f64 = double
using zpl_rune = zpl_i32
using zpl_char32 = zpl_i32
using zpl_b8 = zpl_i8
using zpl_b16 = zpl_i16
using zpl_b32 = zpl_i32

Functions

void zpl_assert_handler(char const* condition, char const* file, zpl_i32 line, char const* msg, ...)
auto zpl_assert_crash(char const* condition) -> zpl_i32

Defines

#define ZPL_EXTERN
#define ZPL_DLL_EXPORT
#define ZPL_DLL_IMPORT
#define ZPL_DEF
#define ZPL_ARCH_32_BIT
#define ZPL_ENDIAN_ORDER
#define ZPL_IS_BIG_ENDIAN
#define ZPL_IS_LITTLE_ENDIAN
#define ZPL_STATIC_ASSERT3(cond, msg)
#define ZPL_STATIC_ASSERT2(cond, line)
#define ZPL_STATIC_ASSERT1(cond, line)
#define ZPL_STATIC_ASSERT(cond)
#define ZPL_WINMAIN
#define _IOSC11_SOURCE
#define ZPL_RUNE_INVALID
#define ZPL_RUNE_MAX
#define ZPL_RUNE_BOM
#define ZPL_RUNE_EOF
#define ZPL_U8_MIN
#define ZPL_U8_MAX
#define ZPL_I8_MIN
#define ZPL_I8_MAX
#define ZPL_U16_MIN
#define ZPL_U16_MAX
#define ZPL_I16_MIN
#define ZPL_I16_MAX
#define ZPL_U32_MIN
#define ZPL_U32_MAX
#define ZPL_I32_MIN
#define ZPL_I32_MAX
#define ZPL_U64_MIN
#define ZPL_U64_MAX
#define ZPL_I64_MIN
#define ZPL_I64_MAX
#define ZPL_USIZE_MIN
#define ZPL_USIZE_MAX
#define ZPL_ISIZE_MIN
#define ZPL_ISIZE_MAX
#define ZPL_F32_MIN
#define ZPL_F32_MAX
#define ZPL_F64_MIN
#define ZPL_F64_MAX
#define inline
#define zpl_restrict
#define zpl_inline
#define zpl_no_inline
#define zpl_thread_local
#define cast(Type)
#define zpl_size_of(x)
#define zpl_count_of(x)
#define zpl_offset_of(Type, element)
#define zpl_align_of(Type)
#define zpl_swap(Type, a, b)
#define zpl_global
#define zpl_internal
#define zpl_local_persist
#define zpl_unused(x)
#define ZPL_BIT(x)
#define zpl_min(a, b)
#define zpl_max(a, b)
#define zpl_min3(a, b, c)
#define zpl_max3(a, b, c)
#define zpl_clamp(x, lower, upper)
#define zpl_clamp01(x)
#define zpl_is_between(x, lower, upper)
#define zpl_abs(x)
#define hard_cast(type)
#define zpl_lambda(b_)
#define zpl_when(init, type, name)
#define ZPL_MASK_SET(var, set, mask)
#define ZPL_PRINTF_ARGS(FMT)
#define ZPL_DEBUG_TRAP()
#define ZPL_ASSERT_MSG(cond, msg, ...)
#define ZPL_ASSERT(cond)
#define ZPL_ASSERT_NOT_NULL(ptr)
#define ZPL_PANIC(msg, ...)