Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[libc++][memory] P1132R8:
out_ptr
- a scalable output pointer abstraction #73618[libc++][memory] P1132R8:
out_ptr
- a scalable output pointer abstraction #73618Changes from 52 commits
84770c8
4bc779e
b23e91a
cb71ea2
c78d2ec
d9e04a7
3405ee5
2b2aaec
af88c85
ad38d72
d7c0439
54c2a41
1a4e2e8
378b374
1515a3d
a7fa18c
da7d5e5
df87f89
49fa86f
e4215e7
da17720
73c36a1
3b0a0c0
3073b70
ae04dfb
202889f
8dad901
c0541c6
2902fe5
398914a
a68df29
fbc5a81
cfd8356
2b300c9
2f859d4
8d19f94
7d59cf6
8fcbddc
34387e2
d321e86
3969659
f914c63
1f496d5
d4eed77
198d222
0fa9266
d46ef50
a2a453b
b0d0413
4d9dc5e
409f66a
8d31e72
ebe9e9d
2c4042e
5abf091
9866adc
d89e6eb
38640f1
a42fe5f
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to do something about https://eel.is/c++draft/smartptr#out.ptr.t-7. Otherwise, when we use a
shared_ptr
here, if we fail to allocate the control block we'll be in trouble, since this is a destructor. So, instead what we could do is allocate a control block in the constructor, then useshared_ptr<T>::__create_with_control_block
in the destructor. The simplest way to do this might be to create a specialization forshared_ptr<T>
. Do you think that is overkill?