From Jason Turner

[func.wrap.func.general]

Diff to HTML by rtfpessoa

tmp/tmpdpew8pf3/{from.md → to.md} RENAMED
@@ -1,11 +1,9 @@
1
  ##### General <a id="func.wrap.func.general">[[func.wrap.func.general]]</a>
2
 
3
  ``` cpp
4
  namespace std {
5
- template<class> class function; // not defined
6
-
7
  template<class R, class... ArgTypes>
8
  class function<R(ArgTypes...)> {
9
  public:
10
  using result_type = R;
11
 
@@ -49,16 +47,10 @@ namespace std {
49
  The `function` class template provides polymorphic wrappers that
50
  generalize the notion of a function pointer. Wrappers can store, copy,
51
  and call arbitrary callable objects [[func.def]], given a call signature
52
  [[func.def]].
53
 
54
- A callable type [[func.def]] `F` is *Lvalue-Callable* for argument types
55
- `ArgTypes` and return type `R` if the expression
56
- `INVOKE<R>(declval<F&>(), declval<ArgTypes>()...)`, considered as an
57
- unevaluated operand [[term.unevaluated.operand]], is well-formed
58
- [[func.require]].
59
-
60
  The `function` class template is a call wrapper [[func.def]] whose call
61
  signature [[func.def]] is `R(ArgTypes...)`.
62
 
63
  [*Note 1*: The types deduced by the deduction guides for `function`
64
  might change in future revisions of C++. — *end note*]
 
1
  ##### General <a id="func.wrap.func.general">[[func.wrap.func.general]]</a>
2
 
3
  ``` cpp
4
  namespace std {
 
 
5
  template<class R, class... ArgTypes>
6
  class function<R(ArgTypes...)> {
7
  public:
8
  using result_type = R;
9
 
 
47
  The `function` class template provides polymorphic wrappers that
48
  generalize the notion of a function pointer. Wrappers can store, copy,
49
  and call arbitrary callable objects [[func.def]], given a call signature
50
  [[func.def]].
51
 
 
 
 
 
 
 
52
  The `function` class template is a call wrapper [[func.def]] whose call
53
  signature [[func.def]] is `R(ArgTypes...)`.
54
 
55
  [*Note 1*: The types deduced by the deduction guides for `function`
56
  might change in future revisions of C++. — *end note*]