Utility for manipulation of reusable mutable array buffers.
Notes:
* Because of a DMD1 bug, declaring Buffer!(Buffer!(T)) is not possible and
will result in a compile-time error complaining about recursive template
instantiation.
* Buffers of void of any dimension greater than one are disallowed (i.e.
Buffer!(void) is allowed; Buffer!(void[]), Buffer!(void[][]), etc are
not). For > 1d arrays, you should use buffers of ubyte instead. The reason
for this limitation is that any array type can be implicitly cast to
void[], leading to internal ambiguities in the code of Buffer. (A fix for
this problem may possible, but would add a lot of complexity to the code.)
Boost Software License Version 1.0. See LICENSE_BOOST.txt for details.
Alternatively, this file may be distributed under the terms of the Tango
3-Clause BSD License (see LICENSE_BSD.txt for details).
Utility for manipulation of reusable mutable array buffers.
Notes: * Because of a DMD1 bug, declaring Buffer!(Buffer!(T)) is not possible and will result in a compile-time error complaining about recursive template instantiation. * Buffers of void of any dimension greater than one are disallowed (i.e. Buffer!(void) is allowed; Buffer!(void[]), Buffer!(void[][]), etc are not). For > 1d arrays, you should use buffers of ubyte instead. The reason for this limitation is that any array type can be implicitly cast to void[], leading to internal ambiguities in the code of Buffer. (A fix for this problem may possible, but would add a lot of complexity to the code.)