tmp/tmpltuss1hs/{from.md → to.md}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
-
###
|
| 2 |
|
| 3 |
A class `T` can inherit from `enable_shared_from_this<T>` to inherit the
|
| 4 |
`shared_from_this` member functions that obtain a `shared_ptr` instance
|
| 5 |
pointing to `*this`.
|
| 6 |
|
|
@@ -25,15 +25,17 @@ namespace std {
|
|
| 25 |
protected:
|
| 26 |
constexpr enable_shared_from_this() noexcept;
|
| 27 |
enable_shared_from_this(const enable_shared_from_this&) noexcept;
|
| 28 |
enable_shared_from_this& operator=(const enable_shared_from_this&) noexcept;
|
| 29 |
~enable_shared_from_this();
|
|
|
|
| 30 |
public:
|
| 31 |
shared_ptr<T> shared_from_this();
|
| 32 |
shared_ptr<T const> shared_from_this() const;
|
| 33 |
weak_ptr<T> weak_from_this() noexcept;
|
| 34 |
weak_ptr<T const> weak_from_this() const noexcept;
|
|
|
|
| 35 |
private:
|
| 36 |
mutable weak_ptr<T> weak_this; // exposition only
|
| 37 |
};
|
| 38 |
}
|
| 39 |
```
|
|
|
|
| 1 |
+
### Class template `enable_shared_from_this` <a id="util.smartptr.enab">[[util.smartptr.enab]]</a>
|
| 2 |
|
| 3 |
A class `T` can inherit from `enable_shared_from_this<T>` to inherit the
|
| 4 |
`shared_from_this` member functions that obtain a `shared_ptr` instance
|
| 5 |
pointing to `*this`.
|
| 6 |
|
|
|
|
| 25 |
protected:
|
| 26 |
constexpr enable_shared_from_this() noexcept;
|
| 27 |
enable_shared_from_this(const enable_shared_from_this&) noexcept;
|
| 28 |
enable_shared_from_this& operator=(const enable_shared_from_this&) noexcept;
|
| 29 |
~enable_shared_from_this();
|
| 30 |
+
|
| 31 |
public:
|
| 32 |
shared_ptr<T> shared_from_this();
|
| 33 |
shared_ptr<T const> shared_from_this() const;
|
| 34 |
weak_ptr<T> weak_from_this() noexcept;
|
| 35 |
weak_ptr<T const> weak_from_this() const noexcept;
|
| 36 |
+
|
| 37 |
private:
|
| 38 |
mutable weak_ptr<T> weak_this; // exposition only
|
| 39 |
};
|
| 40 |
}
|
| 41 |
```
|