General purpose, @nogc library
To use this package, run the following command in your project's root directory:
Put the following dependency into your project's dependences section:
Tanya is a general purpose library for D programming language.
Its aim is to simplify the manual memory management in D and to provide a guarantee with @nogc attribute that there are no hidden allocations on the Garbage Collector heap. Everything in the library is usable in @nogc code. Tanya extends Phobos functionality and provides alternative implementations for data structures and utilities that depend on the Garbage Collector in Phobos.
Tanya consists of the following packages:
async: Event loop (epoll, kqueue and IOCP).
container: Queue, Vector, Singly linked list, buffers.
math: Arbitrary precision integer and a set of functions.
memory: Tools for manual memory management (allocator, reference counting, helper functions).
network: URL-Parsing, sockets.
| dmd | |:-------:| | 2.074.0 | | 2.073.2 | | 2.072.2 | | 2.071.2 |
The library is currently under development, but the API is becoming gradually stable.
Following modules are coming soon:
math package contains an arbitrary precision integer implementation that
needs more test cases, better performance and some additional features
(constructing from a string and an ubyte array, and converting it back).
Tanya is a native D library.
Tanya is cross-platform. The development happens on a 64-bit Linux, but it is being tested on Windows and FreeBSD as well.
The library isn't thread-safe. Thread-safity should be added later.
Since I'm mostly busy writing new code and implementing new features I would appreciate, if anyone uses the library. It would help me to improve the codebase and fix issues.
Feel free to contact me if you have any questions.
- Registered by Eugene Wissner
- 0.4.0 released 4 years ago
- (c) Eugene Wissner <firstname.lastname@example.org>