C utilities library (C utes)
Go to file
Sara 172d1ee10e chore: improved mirror macro isolation 2024-09-12 23:33:30 +02: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 fix: added semicolon to abort() in UNREACHABLE 2024-09-10 15:07:02 +02: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 _as_drop for numeric types 2024-09-10 09:47:55 +02:00
drop.h feat: added _as_drop for numeric types 2024-09-10 09:47:55 +02:00
list.c fix(language): list_contains has the functionality of list_find, renamed to fit 2024-09-10 15:07:19 +02:00
list.h fix(language): list_contains has the functionality of list_find, renamed to fit 2024-09-10 15:07:19 +02: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 chore: improved mirror macro isolation 2024-09-12 23:33:30 +02: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 fix: brackets around value macro definition 2024-09-12 21:32:14 +02: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.