🚩 Warning, the library is not yet complete, it has errors in the code ubt the version 0.0.2 will fix them.
CDSX.H
is an open-source library designed to bring advanced data structures and utilities to the C programming language. By extending the capabilities of C with custom implementations,
CDSX.H
simplifies and enhances data handling in your applications.
Dynamic Arrays
: Resizeable arrays with built-in utility functions.Hash Maps
: Efficient key-value pair storage.Tuples
: Combine multiple values of different types.BitSet
: Compact storage and manipulation of binary data.Matrix Operations
: Support for creating and manipulating 2D matrices.Optionals
: Safely handle nullable or missing values.MetaArray
: Our Teams custom data type (no other language has it)- And much more!
C
, while powerful, lacks many modern data structures that are common in higher-level languages. **CDSX.H**
aims to fill this gap by providing:
- High-performance implementations tailored for C.
- Open-source flexibility for extension and customization.
- Allowing higher level like fucntionlities
1. Clone the repository:
git clone https://github.com/PanagiotisKots/cdsx.h
2. Link the Static Library in Your Project.
-
Use
#include
to include the relevant headers in the src file:ex. #include "arraylist.h"
3. Compile and Run.
ex. gcc -I../include/headers main.c ../src/utils/file_you_need.c -o name_of_the_exe
- Dynamic Array
#include "dynamic_array.h" // Include the header file for the CDSX library
int main() {
// Create a new dynamic array
DynamicArray *arr = dynamic_array_create();
// Append values to the dynamic array
dynamic_array_append(arr, 42);
dynamic_array_append(arr, 84);
// Retrieve and print the value at index 0
printf("Value at index 0: %d\n", dynamic_array_get(arr, 0));
// Free the allocated memory for the dynamic array
dynamic_array_free(arr);
return 0;
}
-
build/
: Compiled source files(.o format). -
docs/
: Documentation for the library. -
examples/
: Example programs demonstrating library usage. -
extended_docs/
: Extedned (analytic) documentations. -
extended_guides/
: User - Developer analytic guides. -
include/
: Header files. -
metaArray/
: Includes, src for the metaArray structure. -
src/
: Source code for the library. -
tests/
: Unit tests for verifying functionality. -
threading/
: Includes, src for the threading functionality.
- We welcome contributions! To get started:
Fork the repository and create a feature branch.
Write your changes and add tests if applicable.
Open a pull request with a detailed description of your changes.
This project is licensed under the MIT License
. See LICENSE.md for more details.