Namespaces
Variants
Views
Actions

Template talk:cpp/ranges/niebloid

From cppreference.com

> Explicit template argument lists may not be specified when calling any of them.

Where is this specified? [algorithms.requirements]/2 outlines the ADL prohibition, and [algorithms.requirements]/15 states that `alg<Ts...>(...)` is unspecified unless otherwise stated, but I don't see anything else to back this up.

Cjdb (talk) 12:22, 19 March 2021 (PDT)

[algorithms.requirements]/15 seems like sufficiently strong wording to me, there is also [diff.cpp17.alg.reqs] --Ybab321 (talk) 13:19, 19 March 2021 (PDT)
This isn't a property specific to niebloids: it's a property of all algorithms. Cjdb (talk) 14:50, 19 March 2021 (PDT)
Oh so it is, then we should probably add this point to the std::algorithms pages too --Ybab321 (talk) 16:34, 19 March 2021 (PDT)
The intent is that you can't even use a template-id to refer to them (even with an empty <>) and the names are not necessarily template-names. To the extent that there is not enough weasel-wording to permit the function-object implementation (and there isn't - e.g., there's no wording saying that they may not necessarily form overload sets with other function templates of the same name brought into scope with a using-declaration), it's a defect. T. Canens (talk) 18:16, 19 March 2021 (PDT)