# ci2
## Description
Inspired by the [book](https://github.com/drh/cii), and others, this is my
personal C codebase. I wanted to improve my C and DSA knowledge, and make some
useful tools since C doesn't have many language features. This is meant to be
opinionated, and not necessarily modular. It's not meant to be the best way,
but I hope to improve it overtime.
## Table of Contents
- [Description](#description)
- [Features](#features)
- [Usage](#usage)
- [Credits / Resources](#credits--resources)
- [License](#license)
## Features / TODOS / Roadmap
- [?] Portable makefile
- [x] Exceptions & Try/Catch [Repo](https://myrepos.dev/Randy-Jordan/except)
- [ ] Better testing tools/suite
- [x] Memory Allocator [Repo](https://myrepos.dev/Randy-Jordan/mem)
- [x] String Views [Repo](https://myrepos.dev/Randy-Jordan/sv)
- [ ] Singly Linked List
- [ ] Queue
- [ ] Stack
- [ ] Quarks / Atoms data structure.
- [ ] Hash Table
- [ ] Logging
- [ ] Data Serialization
## Usage
`make` to build.
`make test` to build and run tests.
## Credits / Resources
[Tom Preston-Werner README Driven Development](https://tom.preston-werner.com/2010/08/23/readme-driven-development)
[Make a README](https://www.makeareadme.com/)
[Choose a LICENSE](https://choosealicense.com/)
[C Interfaces and Implementations](https://github.com/drh/cii)
[Sean Barrett - Advice for Writing Small Programs in C](https://www.youtube.com/watch?v=eAhWIO1Ra6M)
[Eskil Steenberg - How I Program C](https://www.youtube.com/watch?v=443UNeGrFoM)
[Handmade Hero](https://www.youtube.com/playlist?list=PLnuhp3Xd9PYTt6svyQPyRO_AAuMWGxPzU)
[Mr. 4th Programming](https://www.youtube.com/playlist?list=PLT6InxK-XQvNKTyLXk6H6KKy12UYS_KDL)
[Chris Wellons](https://nullprogram.com/)
[Ginger Bill](https://www.gingerbill.org/)
[Tsoding Daily](https://www.youtube.com/@TsodingDaily)
[Jacob Sorber](https://www.youtube.com/channel/UCwd5VFu4KoJNjkWJZMFJGHQ)
## License
This project is licensed under MIT - see the [LICENSE](LICENSE) file for details.