If statements and unused template parameters in Phobos documentation
Max Haughton
maxhaton at gmail.com
Sun Dec 20 13:58:00 UTC 2020
On Sunday, 20 December 2020 at 13:51:08 UTC, Rekel wrote:
> I found a lot of the Phobos documentation to contain template
> arguments and if statements that made no sense to me, for
> example:
>
> ```
> uint readf(alias format, A...) (
> auto ref A args
> )
> if (isSomeString!(typeof(format)));
>
> uint readf(A...) (
> scope const(char)[] format,
> auto ref A args
> );
> ``` https://dlang.org/library/std/stdio/file.readf.html
>
> From stdio.readf & stdio.File.readf. I'm assuming this is some
> kind of template, but often it seems there are more parameters
> in the first '()' part than are ever given. Am I missing
> something? Additionally, what is that if statement for? It
> precedes nothing.
The if is a template constraint.
More information about the Digitalmars-d-learn
mailing list