tanya 0.6.0

General purpose, @nogc library. Containers, networking, memory management, utilities


To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

Tanya

Build status Build status codecov Dub version Dub downloads License

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.

Overview

Tanya consists of the following packages:

  • async: Event loop (epoll, kqueue and IOCP).
  • container: Queue, Array, Singly and doubly linked lists, Buffers, UTF-8 string, Hash set.
  • math: Arbitrary precision integer and a set of functions.
  • memory: Tools for manual memory management (allocators, smart pointers).
  • network: URL-Parsing, sockets, utilities.

Supported compilers

| dmd | |:-------:| | 2.074.1 | | 2.073.2 | | 2.072.2 | | 2.071.2 |

Current status

Following modules are under development:

FeatureBranchBuild status
BitArraybitvectorbitvector bitvector
TLScryptocrypto crypto
File IOioio io

Further characteristics

  • Tanya is a native D library without any external dependencies.

  • 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 yet.

Release management

3-week release cycle.

Deprecated features are removed after one release (in approximately 6 weeks after deprecating).

Contributing

Feel free to contact me if you have any questions: info@caraus.de.

Authors: Eugene Wissner

Dependencies: none

Versions:
0.6.0 2017-Jun-08
0.5.0 2017-May-19
0.4.0 2017-Apr-30
0.3.0 2017-Mar-29
0.2.0 2017-Feb-18
Show all 15 versions
Stats:
  • 0 downloads today

  • 4 downloads this week

  • 6 downloads this month

  • 45 downloads total