View source code
Display the source code in std/traits.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.
Alias std.traits.ParameterStorageClassTuple
Get a tuple of the storage classes of a function's parameters.
Parameters
Name | Description |
---|---|
func | function symbol or type of function, delegate, or pointer to function |
Returns
A tuple of ParameterStorageClass bits
Example
alias STC = ParameterStorageClass; // shorten the enum name
void func(ref int ctx, out real result, in real param, void* ptr)
{
}
alias pstc = ParameterStorageClassTuple!func;
static assert(pstc .length == 4); // number of parameters
static assert(pstc[0] == STC .ref_);
static assert(pstc[1] == STC .out_);
version (none)
{
// TODO: When the DMD PR (dlang/dmd#11474) gets merged,
// remove the versioning and the second test
static assert(pstc[2] == STC .in_);
// This is the current behavior, before `in` is fixed to not be an alias
static assert(pstc[2] == STC .scope_);
}
static assert(pstc[3] == STC .none);
Authors
Walter Bright,
Tomasz Stachowiak (isExpressions
),
Andrei Alexandrescu,
Shin Fujishiro,
Robert Clipsham,
David Nadlinger,
Kenji Hara,
Shoichi Kato
License
Copyright © 1999-2024 by the D Language Foundation | Page generated by ddox.