C utilities library (C utes)
Go to file
Sara 7b20909c54 feat: stopped eating semicolons 2024-02-22 14:52:58 +01:00
.gitignore feat: added gitignore 2024-01-25 14:08:00 +01:00
LICENSE.txt feat: added license 2024-01-26 12:21:00 +01:00
README.md feat: added readme 2024-01-25 14:33:30 +01:00
debug.c feat: added code 2024-01-25 14:08:23 +01:00
debug.h feat: added UNREACHABLE macro 2024-01-29 10:38:42 +01:00
dictionary.c feat: added code 2024-01-25 14:08:23 +01:00
dictionary.h feat: replaced _fencer_ header guards with CUTES_ 2024-01-26 22:58:02 +01:00
drop.c feat: added Drop trait 2024-01-25 14:13:42 +01:00
drop.h feat: replaced _fencer_ header guards with CUTES_ 2024-01-26 22:58:02 +01:00
list.c feat: added list_with_len and list_from_type_with_len 2024-01-26 12:02:56 +01:00
list.h feat: replaced _fencer_ header guards with CUTES_ 2024-01-26 22:58:02 +01:00
mathext.h feat: added mathext 2024-01-26 22:58:09 +01:00
mirror.c feat: added code 2024-01-25 14:08:23 +01:00
mirror.h feat: stopped eating semicolons 2024-02-22 14:52:58 +01:00
strutil.c feat: added code 2024-01-25 14:08:23 +01:00
strutil.h feat: replaced _fencer_ header guards with CUTES_ 2024-01-26 22:58:02 +01:00
typeclass_helpers.h feat: replaced _fencer_ header guards with CUTES_ 2024-01-26 22:58:02 +01:00
variant.c feat: variant now uses mirror and drop to manage objects 2024-01-25 14:14:18 +01:00
variant.h feat: replaced _fencer_ header guards with CUTES_ 2024-01-26 22:58:02 +01:00
vmath.h feat: replaced _fencer_ header guards with CUTES_ 2024-01-26 22:58:02 +01:00

README.md

SARA'S C UTILITIES (C UTES)

A collection of utilities I keep copying around/reimplementing for various C projects.

utilities:

  • debug: some debug logging and assertion macros using stdio.
  • typeclass_helpers: macros to help with typeclasses.
  • mirror: a mirror typeclass that uses macros to enable casting typeclass instances to other typeclass instances.
  • drop: a drop typeclass to destroy objects.
  • variant: a variant struct, mainly useful in combination with dictionaries for (de-)serialization
  • vmath: float and int vector math
  • strutil: some string utilities
  • list: a heap-allocated dynamically sized list.
  • dictionary: a heap-allocated string-key hashmap.