numem 0.6.3

Memory managment utilities for D


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

<p align="center"> <img src="numem.png" alt="NuMem" style="width: 50%; max-width: 512px; height: auto;"> </p>

Nu:Mem is a package for D which implements various nogc memory managment tools, allowing classes, strings, and more to be handled safely in nogc mode. This library is still a work in progress, but is intended to be used within Inochi2D's nogc rewrite to allow the library to have good ergonomics, while allowing more seamless integration with other programming languages.

     

Roadmap

This is a incomplete and unordered roadmap of features I want to add and have added

  • [x] Utilities for managing D classes with no gc
  • [x] nogc_new (nogc new alternative)
  • [x] nogc_delete (nogc destroy alternative)
  • More to be added?
  • [x] Smart (ref-counted) pointers.
  • [x] shared_ptr (strong reference)
  • [x] weak_ptr (weak, borrowed reference)
  • [x] unique_ptr (strong, single-owner reference)
  • [x] C++ style vector struct
  • [x] C++ style string struct
  • [ ] Slice managment functions
  • [ ] Safe nogc streams (memory and file)
  • [ ] Safe(r) nogc array and buffer types.
  • [ ] Special reference counted class type?

Note

Some parts of the library will pretend GC'ed types are no-gc, as such you should be careful about mixing GCed code in.

Authors:
  • Inochi2D Project
Dependencies:
none
Versions:
0.7.2 2024-May-06
0.7.1 2024-Apr-09
0.7.0 2024-Apr-09
0.6.4 2024-Mar-18
0.6.3 2024-Mar-17
Show all 14 versions
Download Stats:
  • 1 downloads today

  • 2 downloads this week

  • 10 downloads this month

  • 85 downloads total

Score:
1.0
Short URL:
numem.dub.pm