Namespaces
Variants
Views
Actions

Talk:cpp/types/is function

From cppreference.com
< Talk:cpp‎ | types
Revision as of 11:58, 6 August 2021 by Space Mission (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

All of the qualifiers (const, volatile, &, &&) only apply to member functions. As such they cannot be applied to a function, can they?

Microsoft's implementation does not accept them, but the libc++ implementation does.

Diltsman (talk) 18:05, 7 October 2015 (PDT)

They can, although the resulting type has limited uses. See [dcl.fct]/1-3, 6. T. Canens (talk) 18:43, 7 October 2015 (PDT)

[edit] too complicated implementation

Don't you think this implementation is too complicated? Why not using something like remove_cvref to simplify it?

Qualifiers on the member function qualifies the implicit object parameter, not the function itself, so they can neither be removed by std::remove_cvref nor be removed separately. Perhaps this implementation cannot be simplified. Fruderica (talk) 18:29, 8 February 2018 (PST)
There are ways to do it by SFINAE-ing on properties of function types, but for pedagogical purposes I'd rather keep the current implementation that nicely exhibits the myriad kinds of function types. T. Canens (talk) 18:48, 8 February 2018 (PST)

[edit] Args......?

What Args...... does mean? What's for this expansion of expansion? Riddler (talk) 14:40, 5 August 2021 (PDT)

it's a popular bar trivia question. Here's SO take on it: https://stackoverflow.com/q/5625600/273767 --Cubbi (talk) 15:19, 5 August 2021 (PDT)
It's mentioned here fyi --Ybab321 (talk) 02:40, 6 August 2021 (PDT)
+1 Local link dup to the same `double ellipsis` explanation (in case that ":~:text=..." ~Chromium extension is not pluged-in). --Space Mission (talk) 12:58, 6 August 2021 (PDT)