29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
# DLibC
|
|
|
|
## Description
|
|
Some custom C types and functions I often use.
|
|
These are generally header-only, but if they have source files, they'll be in their own directories
|
|
|
|
They're generally designed for C23 onwards, but "should" work with older versions.
|
|
|
|
The goal is for the types themselves to be memory-safe, however keep in mind that they're still only as good as your usage of them.
|
|
|
|
## Usage
|
|
Literally just copy the header file you want and let your favourite semi-usable build system do the rest.
|
|
|
|
## List of "What we have"
|
|
- `dlibc/vector.h` - A vector type for storing a dynamic amount of type T, with an optional destructor.
|
|
- `dlibc/set.h` - A set type for storing a dynamic amount of type T, with enforced uniqueness and an optional destructor and comparator.
|
|
|
|
## Contributing
|
|
If you want to contribute, please make a pull request and I'll review it. If you want to contribute a new type or function, please make sure it is useful and not just a "cool" thing.
|
|
|
|
If you change an existing type, please run **make** in *build/* directory and **ctest** to ensure compatibility hasn't been broken.
|
|
|
|
If it's new, please write a **test** for it in *tests/test_<name>.c* so others can see the guidelines on how the type is used.
|
|
|
|
## Legal Mumbo Jumbo
|
|
Licensed under the MIT License (because GPL doesn't make sense for this (sorry Stallman))
|
|
|
|
Copyright (c) 2026 DcruBro
|