Report a bug
If you spot a problem with this page, click here to create a GitHub issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
mir.appender
Scoped Buffer
License:
Authors:
Ilya Yaroshenko
- struct
ScopedBuffer
(T, size_t bytes = 4096) if (bytes); - Examples:
ScopedBuffer!char buf; buf.put('c'); buf.put("str"); assert(buf.data == "cstr"); buf.popBackN(2); assert(buf.data == "cs");
Examples:immutableScopedBuffer!(immutable char) buf; buf.put('c'); buf.put("str"); assert(buf.data == "cstr"); buf.popBackN(2); assert(buf.data == "cs");
- void
shrinkTo
(size_tlength
); - const @property scope size_t
length
(); - void
popBackN
(size_tn
); - scope @safe void
put
(Te
); - scope void
put
(ref Re
); - scope void
put
(scope R[]e
); - scope void
put
(Iterable)(Iterablerange
)
if (isIterable!Iterable && !isStaticArray!Iterable && (!isArray!Iterable || hasElaborateAssign!T)); - nothrow scope void
reset
(); - inout @property scope @safe inout(T)[]
data
(); - @system void
moveDataAndEmplaceTo
(T[]array
); - Copies data into an array of the same length using memcpy C routine. Shrinks the length to 0.
- struct
UnsafeArrayBuffer
(T); - Examples:
char[4] array; auto buf = UnsafeArrayBuffer!char(array); buf.put('c'); buf.put("str"); assert(buf.data == "cstr"); buf.popBackN(2); assert(buf.data == "cs");
- T[]
buffer
; - size_t
length
; - void
put
(Ta
); - void
put
(E[]a
); - inout @property scope @safe inout(T)[]
data
(); - void
popBackN
(size_tn
);
Copyright © 2016-2021 by Ilya Yaroshenko | Page generated by
Ddoc on Fri Feb 26 05:58:31 2021