View source code
Display the source code in std/typecons.d from which this page was generated on
github.
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.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Variable std.typecons.Tuple.expand
Use t.expand
for a Tuple
t
to expand
it into its
components. The result of
acts as if the expand
's components
were listed as a list of values. (Ordinarily, a Tuple
acts as a
single value.)
Tuple
Declaration
struct Tuple
{
// ...
Tuple. Types
expand;
// ...
}
Example
auto t1 = tuple(1, " hello ", 2.3);
assert(t1.toString() == Tuple!(int, string, double)(1, " hello ", 2.3)
);
void takeSeveralTypes(int n, string s, bool b)
{
assert(n == 4 && s == "test" && b == false);
}
auto t2 = tuple(4, "test", false);
//t.expand acting as a list of values
takeSeveralTypes(t2.expand);
Example
alias ISD = Tuple!(int, string, double);
auto tup = ISD(1, "test", 3.2);
assert(tup.toString() == Tuple!(int, string, double)(1, "test", 3.2)
);
Authors
Andrei Alexandrescu, Bartosz Milewski, Don Clugston, Shin Fujishiro, Kenji Hara