the input range to drop from
the number of elements to drop
range with up to n elements dropped
import std.algorithm.comparison : equal; assert([0, 2, 1, 5, 0, 3].drop(3) == [5, 0, 3]); assert("hello world".drop(6) == "world"); assert("hello world".drop(50).empty); assert("hello world".take(6).drop(3).equal("lo "));
import std.algorithm.comparison : equal; assert([0, 2, 1, 5, 0, 3].dropBack(3) == [0, 2, 1]); assert("hello world".dropBack(6) == "hello"); assert("hello world".dropBack(50).empty); assert("hello world".drop(4).dropBack(4).equal("o w"));
Convenience function which calls std.range.primitives.popFrontN(range, n) and returns range. drop makes it easier to pop elements from a range 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 std.range.primitives.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.