From Jason Turner

[func.wrap.move]

Diff to HTML by rtfpessoa

tmp/tmp6pzwy5ww/{from.md → to.md} RENAMED
@@ -1,6 +1,6 @@
1
- #### Move only wrapper <a id="func.wrap.move">[[func.wrap.move]]</a>
2
 
3
  ##### General <a id="func.wrap.move.general">[[func.wrap.move.general]]</a>
4
 
5
  The header provides partial specializations of `move_only_function` for
6
  each combination of the possible replacements of the placeholders cv,
@@ -18,18 +18,16 @@ above, there is a placeholder *inv-quals* defined as follows:
18
 
19
  ##### Class template `move_only_function` <a id="func.wrap.move.class">[[func.wrap.move.class]]</a>
20
 
21
  ``` cpp
22
  namespace std {
23
- template<class... S> class move_only_function; // not defined
24
-
25
  template<class R, class... ArgTypes>
26
  class move_only_function<R(ArgTypes...) cv ref noexcept(noex)> {
27
  public:
28
  using result_type = R;
29
 
30
- // [func.wrap.move.ctor], constructors, assignment, and destructor
31
  move_only_function() noexcept;
32
  move_only_function(nullptr_t) noexcept;
33
  move_only_function(move_only_function&&) noexcept;
34
  template<class F> move_only_function(F&&);
35
  template<class T, class... Args>
@@ -69,11 +67,11 @@ dynamically allocated memory for a small contained value.
69
 
70
  [*Note 1*: Such small-object optimization can only be applied to a type
71
  `T` for which `is_nothrow_move_constructible_v<T>` is
72
  `true`. — *end note*]
73
 
74
- ##### Constructors, assignment, and destructor <a id="func.wrap.move.ctor">[[func.wrap.move.ctor]]</a>
75
 
76
  ``` cpp
77
  template<class VT>
78
  static constexpr bool is-callable-from = see below;
79
  ```
 
1
+ #### Move-only wrapper <a id="func.wrap.move">[[func.wrap.move]]</a>
2
 
3
  ##### General <a id="func.wrap.move.general">[[func.wrap.move.general]]</a>
4
 
5
  The header provides partial specializations of `move_only_function` for
6
  each combination of the possible replacements of the placeholders cv,
 
18
 
19
  ##### Class template `move_only_function` <a id="func.wrap.move.class">[[func.wrap.move.class]]</a>
20
 
21
  ``` cpp
22
  namespace std {
 
 
23
  template<class R, class... ArgTypes>
24
  class move_only_function<R(ArgTypes...) cv ref noexcept(noex)> {
25
  public:
26
  using result_type = R;
27
 
28
+ // [func.wrap.move.ctor], constructors, assignments, and destructor
29
  move_only_function() noexcept;
30
  move_only_function(nullptr_t) noexcept;
31
  move_only_function(move_only_function&&) noexcept;
32
  template<class F> move_only_function(F&&);
33
  template<class T, class... Args>
 
67
 
68
  [*Note 1*: Such small-object optimization can only be applied to a type
69
  `T` for which `is_nothrow_move_constructible_v<T>` is
70
  `true`. — *end note*]
71
 
72
+ ##### Constructors, assignments, and destructor <a id="func.wrap.move.ctor">[[func.wrap.move.ctor]]</a>
73
 
74
  ``` cpp
75
  template<class VT>
76
  static constexpr bool is-callable-from = see below;
77
  ```