#ifndef KIT_PRINT_H #define KIT_PRINT_H #include "string_builder.h" #ifdef __cplusplus extern "C" { #endif enum { KIT_PRINT_ALIGN_RIGHT = 1, KIT_PRINT_UNSIGNED = (1 << 1), KIT_PRINT_BIN = (1 << 2), KIT_PRINT_OCT = (1 << 3), KIT_PRINT_DEC = (1 << 4), KIT_PRINT_HEX = (1 << 5), KIT_PRINT_PRECISE = (1 << 6), KIT_PRINT_UTF8 = (1 << 7), }; s32 kit_print_int(kit_str_builder_t *s, i64 value, i64 width, c8 fill, u32 flags); s32 kit_print_float(kit_str_builder_t *s, f64 value, i64 width, c8 fill, u32 flags); s32 kit_print_esc(kit_str_builder_t *s, kit_str_t value, c8 escape_char, kit_str_t special_symbols, u32 flags); #ifdef __cplusplus } #endif #ifndef KIT_DISABLE_SHORT_NAMES # define PRINT_ALIGN_RIGHT KIT_PRINT_ALIGN_RIGHT # define PRINT_UNSIGNED KIT_PRINT_UNSIGNED # define PRINT_BIN KIT_PRINT_BIN # define PRINT_OCT KIT_PRINT_OCT # define PRINT_DEC KIT_PRINT_DEC # define PRINT_HEX KIT_PRINT_HEX # define PRINT_PRECISE KIT_PRINT_PRECISE # define PRINT_UTF8 KIT_PRINT_UTF8 # define print_int kit_print_int # define print_float kit_print_float # define print_esckit_print_esc #endif #endif