Skip to content
/ numem Public
forked from Inochi2D/numem

No-GC memory managment utilities for DLang

License

Notifications You must be signed in to change notification settings

p0nce/numem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NuMem

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

  • Utilities for managing D classes with no gc
    • nogc_new (nogc new alternative)
    • nogc_delete (nogc destroy alternative)
    • More to be added?
  • Smart (ref-counted) pointers.
    • shared_ptr (strong reference)
    • weak_ptr (weak, borrowed reference)
    • unique_ptr (strong, single-owner reference)
  • C++ style vector struct
  • 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.

About

No-GC memory managment utilities for DLang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • D 100.0%