https://github.com/chihaya-yuka/cstl
STL for C ⭐
https://github.com/chihaya-yuka/cstl
c c-language c-plus-plus cpp stl stl-algorithms
Last synced: 3 months ago
JSON representation
STL for C ⭐
- Host: GitHub
- URL: https://github.com/chihaya-yuka/cstl
- Owner: Chihaya-Yuka
- License: apache-2.0
- Created: 2024-08-24T08:43:45.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-02-12T06:46:22.000Z (5 months ago)
- Last Synced: 2025-03-24T03:12:04.238Z (4 months ago)
- Topics: c, c-language, c-plus-plus, cpp, stl, stl-algorithms
- Language: C
- Homepage: https://cstl.yuka.living/
- Size: 152 KB
- Stars: 29
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# CSTL - Standard Template Library for C ⭐
 [](https://cstl.awaland.xyz/) [](https://github.com/Chihaya-Yuka/CSTL/issues) [](https://github.com/Chihaya-Yuka/CSTL/graphs/contributors) [](https://github.com/Chihaya-Yuka/CSTL/graphs/commit-activity)
**CSTL** is a standard template library for the C programming language, designed to provide a more modern programming experience for C language embedded developers. With CSTL, you can use common data structures and algorithms to improve the efficiency and readability of your C code.
CSTL is an open-source project. If you have any suggestions or encounter issues while using it, please feel free to provide feedback through [Issues](https://github.com/Chihaya-Yuka/CSTL/issues).
## Features
- **Rich Data Structures**:
- Dynamic Array (`Vector`)
- Linked List (`List`)
- Stack (`Stack`)
- Queue (`Queue`)
- Dictionary (`Map`)
- Set (`Set`)- **Efficient Algorithms**:
- Sorting (`Sort`)
- Searching (`Search`)
- Finding Maximum/Minimum (`Max/Min`)
- Filtering (`Filter`)
- Mapping (`Map`)
- Reducing (`Reduce`)- **Function Objects**: Supports unary and binary function objects, predicates, etc., for various operations within algorithms.
- **Generic Interfaces**: All data structures and algorithms are implemented with generic interfaces, supporting generic programming.
- **Simple and Easy to Use**: API design similar to C++ STL, making it easy for C developers to get started.
## Example
Look at `example.c` to get the example.