View source code
Display the source code in std/algorithm/iteration.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.algorithm.iteration.Permutations/permutations
- multiple declarations
Function permutations
Lazily computes all permutations of r
using Heap's algorithm.
Permutations!Range permutations(Range)
(
Range r
)
if (isRandomAccessRange!Range && hasLength!Range);
Parameters
Name | Description |
---|---|
Range | the range type |
r | the random access range to find the permutations for. |
Returns
A forward range
of elements of which are an std
view into r
.
See Also
Example
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]]));
Struct Permutations
Lazily computes all permutations of r
using Heap's algorithm.
struct Permutations(Range)
if (isRandomAccessRange!Range && hasLength!Range);
Constructors
Name | Description |
---|---|
this
(r)
|
Properties
Name | Type | Description |
---|---|---|
empty [get]
|
bool | |
front [get]
|
auto |
Methods
Name | Description |
---|---|
popFront
()
|
Parameters
Name | Description |
---|---|
Range | the range type |
r | the random access range to find the permutations for. |
Returns
A forward range
of elements of which are an std
view into r
.
See Also
Example
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]]));
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.