The OpenD Programming Language

permutations

Lazily computes all permutations of r using Heap's algorithm.

permutations
(
Range
)
(
Range r
)

Parameters

Range

the range type

r Range

the random access range to find the permutations for.

Return Value

Type: Permutations!Range

A forward range of elements of which are an std.range.indexed view into r.

Examples

import std.algorithm.comparison : equal;
import std.range : iota;
assert(equal!equal(iota(3).permutations,
    [[0, 1, 2],
     [1, 0, 2],
     [2, 0, 1],
     [0, 2, 1],
     [1, 2, 0],
     [2, 1, 0]]));

See Also

Meta