numem 0.8.0
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)
- [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
- [x] C++ style map
- [x] C++ style set
- [x] nogc compatible exceptions (must derive from NuException)
- [ ] Safe nogc streams**
- [x] FileStream*
- [x] MemoryStream*
- [ ] NetworkStream
- [x] Endianness utilities
- [x] Support for minimal D runtime
- [x] tinyd-rt**
- [x] File handling**
- [x] Check if file exists
- [ ] Iterate directories
- [ ] Cross platform path handling
- [ ] Networking
- [ ] Sockets
- [ ] IP utilities
- [ ] Character encoding handling
- [ ] Unicode
- [ ] Allow plugging more handlers in?
- [ ] String formatting (compatible with phobos syntax?)
*: Implemented but untested. **: Partially implemented.
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.
- Registered by Clipsey
- 0.8.0 released 6 months ago
- Inochi2D/numem
- BSD 2-clause
- Copyright © 2023, Inochi2D Project
- Authors:
- Dependencies:
- tinyd-rt
- Versions:
-
0.23.8 2024-Nov-13 0.23.7 2024-Nov-13 0.23.6 2024-Nov-10 0.23.5 2024-Oct-15 0.23.4 2024-Oct-12 - Download Stats:
-
-
15 downloads today
-
106 downloads this week
-
422 downloads this month
-
1650 downloads total
-
- Score:
- 3.4
- Short URL:
- numem.dub.pm