View source code
Display the source code in object.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.
Function object.byValue
Returns a forward range which will iterate over the values of the associative array. The values are returned by reference.
auto byValue(T, K, V)
(
T aa
) pure nothrow @nogc @safe;
auto byValue(T, K, V)
(
T* aa
) pure nothrow @nogc;
If structural changes are made to the array (removing or adding keys), all ranges previously obtained through this function are invalidated. The following example program will dereference a null pointer:
import std .stdio : writeln;
auto dict = ["k1": 1, "k2": 2];
auto valueRange = dict .byValue;
dict .clear;
writeln(valueRange .front); // Segmentation fault
Parameters
Name | Description |
---|---|
aa | The associative array. |
Returns
A forward range referencing the values of the associative array.
Example
auto dict = ["k1": 1, "k2": 2];
int sum;
foreach (v; dict .byValue)
sum += v;
writeln(sum); // 3
Authors
Walter Bright, Sean Kelly
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.