tomo/stdlib/bools.h
Bruce Hill 147e0f0269 Overhaul of constructors, making it more consistent and correct. Also
changed T(), T, T_t, T_s type names to T(), T$$info, T$$type, T$$struct
for unambiguity
2025-03-05 18:20:54 -05:00

27 lines
795 B
C

#pragma once
// Boolean functions/type info
#include <stdbool.h>
#include <stdint.h>
#include "types.h"
#include "optionals.h"
#include "util.h"
#define yes (Bool_t)true
#define no (Bool_t)false
PUREFUNC Text_t Bool$as_text(const void *b, bool colorize, const TypeInfo_t *type);
OptionalBool_t Bool$parse(Text_t text);
MACROLIKE Bool_t Bool$from_int(Int_t i) { return (i.small != 0); }
MACROLIKE Bool_t Bool$from_int64(Int64_t i) { return (i != 0); }
MACROLIKE Bool_t Bool$from_int32(Int32_t i) { return (i != 0); }
MACROLIKE Bool_t Bool$from_int16(Int16_t i) { return (i != 0); }
MACROLIKE Bool_t Bool$from_int8(Int8_t i) { return (i != 0); }
MACROLIKE Bool_t Bool$from_byte(uint8_t b) { return (b != 0); }
extern const TypeInfo_t Bool$info;
// vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1,\:0