std.container.slist.SList.insertAfter - multiple declarations
Function SList.insertAfter
Inserts stuff after range r, which must be a range
previously extracted from this container. Given that all ranges for a
list end at the end of the list, this function essentially appends to
the list and uses r as a potentially fast way to reach the last
node in the list. Ideally r is positioned near or at the last
element of the list.
size_t insertAfter(Stuff)
(
SList . Range r,
Stuff stuff
)
if (isInputRange!Stuff || isImplicitlyConvertible!(Stuff, T));
stuff can be a value convertible to T or a range of objects
convertible to T. The stable version behaves the same, but
guarantees that ranges iterating over the container are never
invalidated.
Returns
The number of values inserted.
Complexity
Ο(k + m), where k is the number of elements in
r and m is the length of stuff.
Example
auto sl = SList!string(["a", "b", "d"]);
sl .insertAfter(sl[], "e"); // insert at the end (slowest)
assert(std .algorithm .equal(sl[], ["a", "b", "d", "e"]));
sl .insertAfter(std .range .take(sl[], 2), "c"); // insert after "b"
assert(std .algorithm .equal(sl[], ["a", "b", "c", "d", "e"]));
Function SList.insertAfter
Similar to insertAfter above, but accepts a range bounded in
count. This is important for ensuring fast insertions in the middle of
the list. For fast insertions after a specified position r, use
insertAfter(take(r, 1), stuff). The complexity of that operation
only depends on the number of elements in stuff.
size_t insertAfter(Stuff)
(
Take!Range r,
Stuff stuff
)
if (isInputRange!Stuff || isImplicitlyConvertible!(Stuff, T));
Precondition
r
Returns
The number of values inserted.
Complexity
Ο(k + m), where k is the number of elements in
r and m is the length of stuff.
Authors
License
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ).