View source code
Display the source code in std/range/package.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla 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 usinglocal clone.

Function std.range.dropBack

drop is a convenience function which calls popFrontN(range, n) and returns range. Unlike popFrontN, the range argument is passed by copy, not by ref.

R dropBack(R)(
  R range,
  size_t n
)
if (isBidirectionalRange!R);

drop makes it easier to pop elements from a range rvalue and then pass it to another function within a single expression, whereas popFrontN would require multiple statements.

dropBack provides the same functionality but instead calls popBackN(range, n)

Note

drop and dropBack will only pop up to n elements but will stop if the range is empty first. In other languages this is sometimes called skip.

Parameters

NameDescription
range the input range to drop from
n the number of elements to drop

Returns

range with up to n elements dropped

See Also

popFront, popBackN

Example

import std.algorithm.comparison : equal;

auto a = [0, 2, 1, 5, 0, 3];
writeln(a.drop(3)); // [5, 0, 3]
assert(a.length == 6); // original unchanged

writeln("hello world".drop(6)); // "world"
assert("hello world".drop(50).empty);
assert("hello world".take(6).drop(3).equal("lo "));

Example

import std.algorithm.comparison : equal;

writeln([0, 2, 1, 5, 0, 3].dropBack(3)); // [0, 2, 1]
writeln("hello world".dropBack(6)); // "hello"
assert("hello world".dropBack(50).empty);
assert("hello world".drop(4).dropBack(4).equal("o w"));

Authors

Andrei Alexandrescu, David Simcha, Jonathan M Davis, and Jack Stouffer. Credit for some of the ideas in building this module goes to Leonardo Maffi.

License

Boost License 1.0.