std.container.slist.s_list.insert_after - multiple declarations
- Template SList.insertAfter
- Template SList.insertAfter
Template SList.insertAfter
Similar to 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 insertAfterr, use
. The complexity of that operation
only depends on the number of elements in insertAfter(take(r, 1), stuff)stuff.
Arguments
template insertAfter(Stuff);
Functions
| Function name | Description |
|---|---|
| insertAfter |
Precondition
r.original.empty || r.maxLength > 0
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.
Template 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.
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.
Arguments
template insertAfter(Stuff);
Functions
| Function name | Description |
|---|---|
| insertAfter |
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.
Examples
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"]));
Authors
Steven Schveighoffer, Andrei Alexandrescu
License
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ).