pureFree

Pure variants of C's memory allocation functions malloc, calloc, and realloc and deallocation function free.

UNIX 98 requires that errno be set to ENOMEM upon failure. https://linux.die.net/man/3/malloc

However, this is irrelevant for DMD's purposes, and best practice protocol for using errno is to treat it as an out parameter, and not something with state that can be relied on across function calls. So, we'll ignore it.

  1. void* pureMalloc(size_t size)
  2. void* pureCalloc(size_t nmemb, size_t size)
  3. void* pureRealloc(void* ptr, size_t size)
  4. void pureFree(void* ptr)
    extern (C) pure @nogc nothrow pragma(mangle, "free") @system
    void
    pureFree
    (
    void* ptr
    )

See Also

D's rules for purity, which allow for memory allocation under specific circumstances.

Suggestion Box / Bug Report