https://github.com/abdorayden/raylist
C library that implements a dynamic linked list supporting multiple data types, with various functions for list manipulation
https://github.com/abdorayden/raylist
c dynamic list python3
Last synced: 2 months ago
JSON representation
C library that implements a dynamic linked list supporting multiple data types, with various functions for list manipulation
- Host: GitHub
- URL: https://github.com/abdorayden/raylist
- Owner: abdorayden
- License: mit
- Created: 2024-06-28T21:47:37.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-08T12:44:21.000Z (8 months ago)
- Last Synced: 2024-11-08T13:41:52.876Z (8 months ago)
- Topics: c, dynamic, list, python3
- Language: C
- Homepage:
- Size: 31.3 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RayList Library
![]()
## Description
RayList is a dynamic list library implemented in C, designed to handle various data types and provide efficient memory management. It supports operations such as insertion, deletion, filtering, and asynchronous execution.## Features
- Support for multiple data types (int, float, char, string, etc.)
- Dynamic memory management
- Asynchronous function execution
- Filtering and mapping capabilities## Installation
To include the RayList library in your project, simply copy the `raylist.h` file into your project directory and include it in your source files and define LIST_C_ macro as follows:
```c
#define LIST_C_
#include "raylist.h"
```## Usage
Here are some basic examples of how to use the RayList library:### Creating a List
```cint ten = 10;
RLList myList = List(2,
RL_INT, &ten,
RL_STR, "Hello"
);
```### Appending Items
```c
myList.Append(RL_INT, (void*)&myInt);
myList.Append(RL_STR, "New String");
```### Filtering Items
```c
myList.List_Filter(myFilterFunction, RL_INT, ONLY);
```## API Reference
- `RLList List(int count, ...)`: Initializes a new list with the specified number of items.
- `void Append(Type type, void* data)`: Appends an item to the list.
- `void Filter(FILTERCALLBACK callback, Type type, Filter_Flag flag)`: Filters items in the list based on a callback function.## Documentation
check raylist documentation website [raylist](https://rayden-six.vercel.app/raylist)## Examples
For more detailed examples, please refer to the `examples` directory in the repository.## License
This library is licensed under the MIT License. See the LICENSE file for more details.## Contributing
Contributions are welcome! Please submit a pull request or open an issue for any suggestions or improvements.## Contact
For any inquiries, please contact RayDen at [[email protected]].