From Jason Turner

[func.not.fn]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpg9b2fkyt/{from.md → to.md} +18 -0
tmp/tmpg9b2fkyt/{from.md → to.md} RENAMED
@@ -22,5 +22,23 @@ is `true`.
22
  wrapper [[term.perfect.forwarding.call.wrapper]] `g` with call pattern
23
  `!invoke(fd, call_args...)`.
24
 
25
  *Throws:* Any exception thrown by the initialization of `fd`.
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  wrapper [[term.perfect.forwarding.call.wrapper]] `g` with call pattern
23
  `!invoke(fd, call_args...)`.
24
 
25
  *Throws:* Any exception thrown by the initialization of `fd`.
26
 
27
+ ``` cpp
28
+ template<auto f> constexpr unspecified not_fn() noexcept;
29
+ ```
30
+
31
+ In the text that follows:
32
+
33
+ - `F` is the type of `f`,
34
+ - `g` is a value of the result of a `not_fn` invocation,
35
+ - `call_args` is an argument pack used in a function call
36
+ expression [[expr.call]] of `g`.
37
+
38
+ *Mandates:* If `is_pointer_v<F> || is_member_pointer_v<F>` is `true`,
39
+ then `f != nullptr` is `true`.
40
+
41
+ *Returns:* A perfect forwarding call wrapper [[func.require]] `g` that
42
+ does not have state entities, and has the call pattern
43
+ `!invoke(f, call_args...)`.
44
+