From Jason Turner

[unique.ptr.dltr]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp5kpg4ank/{from.md → to.md} +10 -10
tmp/tmp5kpg4ank/{from.md → to.md} RENAMED
@@ -12,27 +12,27 @@ type.
12
 
13
  ``` cpp
14
  namespace std {
15
  template<class T> struct default_delete {
16
  constexpr default_delete() noexcept = default;
17
- template<class U> default_delete(const default_delete<U>&) noexcept;
18
- void operator()(T*) const;
19
  };
20
  }
21
  ```
22
 
23
  ``` cpp
24
- template<class U> default_delete(const default_delete<U>& other) noexcept;
25
  ```
26
 
27
  *Constraints:* `U*` is implicitly convertible to `T*`.
28
 
29
  *Effects:* Constructs a `default_delete` object from another
30
  `default_delete<U>` object.
31
 
32
  ``` cpp
33
- void operator()(T* ptr) const;
34
  ```
35
 
36
  *Mandates:* `T` is a complete type.
37
 
38
  *Effects:* Calls `delete` on `ptr`.
@@ -41,30 +41,30 @@ void operator()(T* ptr) const;
41
 
42
  ``` cpp
43
  namespace std {
44
  template<class T> struct default_delete<T[]> {
45
  constexpr default_delete() noexcept = default;
46
- template<class U> default_delete(const default_delete<U[]>&) noexcept;
47
- template<class U> void operator()(U* ptr) const;
48
  };
49
  }
50
  ```
51
 
52
  ``` cpp
53
- template<class U> default_delete(const default_delete<U[]>& other) noexcept;
54
  ```
55
 
56
  *Constraints:* `U(*)[]` is convertible to `T(*)[]`.
57
 
58
  *Effects:* Constructs a `default_delete` object from another
59
  `default_delete<U[]>` object.
60
 
61
  ``` cpp
62
- template<class U> void operator()(U* ptr) const;
63
  ```
64
 
 
 
65
  *Mandates:* `U` is a complete type.
66
 
67
- *Constraints:* `U(*)[]` is convertible to `T(*)[]`.
68
-
69
  *Effects:* Calls `delete[]` on `ptr`.
70
 
 
12
 
13
  ``` cpp
14
  namespace std {
15
  template<class T> struct default_delete {
16
  constexpr default_delete() noexcept = default;
17
+ template<class U> constexpr default_delete(const default_delete<U>&) noexcept;
18
+ constexpr void operator()(T*) const;
19
  };
20
  }
21
  ```
22
 
23
  ``` cpp
24
+ template<class U> constexpr default_delete(const default_delete<U>& other) noexcept;
25
  ```
26
 
27
  *Constraints:* `U*` is implicitly convertible to `T*`.
28
 
29
  *Effects:* Constructs a `default_delete` object from another
30
  `default_delete<U>` object.
31
 
32
  ``` cpp
33
+ constexpr void operator()(T* ptr) const;
34
  ```
35
 
36
  *Mandates:* `T` is a complete type.
37
 
38
  *Effects:* Calls `delete` on `ptr`.
 
41
 
42
  ``` cpp
43
  namespace std {
44
  template<class T> struct default_delete<T[]> {
45
  constexpr default_delete() noexcept = default;
46
+ template<class U> constexpr default_delete(const default_delete<U[]>&) noexcept;
47
+ template<class U> constexpr void operator()(U* ptr) const;
48
  };
49
  }
50
  ```
51
 
52
  ``` cpp
53
+ template<class U> constexpr default_delete(const default_delete<U[]>& other) noexcept;
54
  ```
55
 
56
  *Constraints:* `U(*)[]` is convertible to `T(*)[]`.
57
 
58
  *Effects:* Constructs a `default_delete` object from another
59
  `default_delete<U[]>` object.
60
 
61
  ``` cpp
62
+ template<class U> constexpr void operator()(U* ptr) const;
63
  ```
64
 
65
+ *Constraints:* `U(*)[]` is convertible to `T(*)[]`.
66
+
67
  *Mandates:* `U` is a complete type.
68
 
 
 
69
  *Effects:* Calls `delete[]` on `ptr`.
70