MemAlloc

Represent a single allocation within a DeviceMemory

Constructors

this
this(DeviceMemory mem, size_t offset, size_t size, MemBlock block, Object blockData)
Undocumented in source.

Members

Functions

dispose
void dispose()
Undocumented in source. Be warned that the author may not have intended to support it.
map
MemoryMap map(size_t offset, size_t size)
Undocumented in source. Be warned that the author may not have intended to support it.
releaseMap
void releaseMap()
Undocumented in source. Be warned that the author may not have intended to support it.
retainMap
void retainMap()

Artificially increment the mapping reference count in order to keep the memory mapped even if no MemoryMap is alive

Properties

mem
DeviceMemory mem [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.
offset
size_t offset [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.
size
size_t size [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.

Inherited Members

From AtomicRefCounted

refCount
size_t refCount [@property getter]
refCountShared
size_t refCountShared [@property getter]

Atomically loads the number of active references.

retain
void retain()
retainShared
void retainShared()

Atomically increment the reference count.

release
bool release(Flag!"disposeOnZero" disposeOnZero)
releaseShared
bool releaseShared(Flag!"disposeOnZero" disposeOnZero)

Atomically decrement the reference count. If refCount reaches zero, and disposeOnZero is set, the object is locked with its own mutex, and dispose is called. In most cases, the calling code should set disposeOnZero, unless it is intended to release the object to give it away. (such as at the end of a builder function)

rcLock
bool rcLock()
rcLockShared
bool rcLockShared()

Returns whether the refCount >= 1. This increases the refCount by 1. rcLock should be used to keep weak reference and ensures that the resource is not disposed. The operation is atomic.

dispose
void dispose()

Dispose the underlying resource

Meta