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

std.range.Repeat/repeat - multiple declarations

Function repeat

Create a range which repeats one value.

Repeat!T repeat(T) (
  T value
);

Take!(Repeat!T) repeat(T) (
  T value,
  size_t n
);

Parameters

NameDescription
value the value to repeat
n the number of times to repeat value

Returns

If n is not defined, an infinite random access range with slicing.

If n is defined, a random access range with slicing.

Example

import std.algorithm.comparison : equal;

assert(5.repeat().take(4).equal([5, 5, 5, 5]));

Example

import std.algorithm.comparison : equal;

assert(5.repeat(4).equal([5, 5, 5, 5]));

Struct Repeat

Create a range which repeats one value.

struct Repeat(T) ;

Properties

NameTypeDescription
back[get] inout(T)Range primitives
front[get] inout(T)Range primitives
save[get] autoRange primitives

Methods

NameDescription
opIndex () Range primitives
opSlice (i, j) Range primitives
popBack () Range primitives
popFront () Range primitives

Parameters

NameDescription
value the value to repeat
n the number of times to repeat value

Returns

If n is not defined, an infinite random access range with slicing.

If n is defined, a random access range with slicing.

Example

import std.algorithm.comparison : equal;

assert(5.repeat().take(4).equal([5, 5, 5, 5]));

Example

import std.algorithm.comparison : equal;

assert(5.repeat(4).equal([5, 5, 5, 5]));

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.