The OpenD Programming Language

FallbackAllocator.expand

expand is defined if and only if at least one of the allocators defines expand. It works as follows. If primary.owns(b), then the request is forwarded to primary.expand if it is defined, or fails (returning false) otherwise. If primary does not own b, then the request is forwarded to fallback.expand if it is defined, or fails (returning false) otherwise.

struct FallbackAllocator(Primary, Fallback)
static if(hasMember!(Primary, "owns") && (hasMember!(Primary, "expand") || hasMember!(Fallback, "expand")))
bool
expand
(
ref void[] b
,
size_t delta
)

Meta