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 Tuplet 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