From Jason Turner

[func.memfn]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpiwypzzkr/{from.md → to.md} +3 -19
tmp/tmpiwypzzkr/{from.md → to.md} RENAMED
@@ -1,26 +1,10 @@
1
  ### Function template `mem_fn` <a id="func.memfn">[[func.memfn]]</a>
2
 
3
  ``` cpp
4
- template<class R, class T> unspecified mem_fn(R T::* pm);
5
  ```
6
 
7
  *Returns:* A simple call wrapper ([[func.def]]) `fn` such that the
8
- expression `fn(t, a2, ..., aN)` is equivalent to
9
- *`INVOKE`*`(pm, t, a2, ..., aN)` ([[func.require]]). `fn` shall have a
10
- nested type `result_type` that is a synonym for the return type of `pm`
11
- when `pm` is a pointer to member function.
12
-
13
- The simple call wrapper shall define two nested types named
14
- `argument_type` and `result_type` as synonyms for `cv T*` and `Ret`,
15
- respectively, when `pm` is a pointer to member function with
16
- cv-qualifier *cv* and taking no arguments, where *Ret* is `pm`’s return
17
- type.
18
-
19
- The simple call wrapper shall define three nested types named
20
- `first_argument_type`, `second_argument_type`, and `result_type` as
21
- synonyms for `cv T*`, `T1`, and `Ret`, respectively, when `pm` is a
22
- pointer to member function with cv-qualifier *cv* and taking one
23
- argument of type `T1`, where *Ret* is `pm`’s return type.
24
-
25
- *Throws:* Nothing.
26
 
 
1
  ### Function template `mem_fn` <a id="func.memfn">[[func.memfn]]</a>
2
 
3
  ``` cpp
4
+ template<class R, class T> unspecified mem_fn(R T::* pm) noexcept;
5
  ```
6
 
7
  *Returns:* A simple call wrapper ([[func.def]]) `fn` such that the
8
+ expression `fn(t, a2, ..., aN)` is equivalent to *INVOKE*(pm, t, a2,
9
+ ..., aN) ([[func.require]]).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10