[libcu++] Add as_ref() to memory pool types #6900
Merged
+50
−0
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.
The owning memory pool types are not copyable (for obvious reasons), but we require the resource to be copyable in
any_resourceandbuffer. User needs to either pack the pool intoshared_resourceor pass it as a memory pool reference.This PR adds a convenient API
as_ref()to the owning memory pool types to opt-out of pool ownership when it's passed to an API. It's basically astatic_cast<X_memory_pool_ref>(this).I also added a test for constructing the buffer with
shared_resourceto show the two different approaches to custom memory pools