-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[ntuple] expose RNTuple(Un)ownedView instead of RNTupleView<T, bool> #16363
Conversation
To me I think regarding the second point, unless we already have concrete cases where users would want to use |
I agree with previous comments about the meaning of the |
@vepadulano I agree that if we foresee the Unowned version being the one used "by default" it should probably be just called RNTupleView, though I'm not sure if the "Unsafe" nomenclature communicates the concept well. I don't have better ideas right now either. Maybe "Unmanaged"? |
Test Results 13 files 13 suites 2d 23h 54m 10s ⏱️ For more details on these failures, see this check. Results for commit da3cf8b. |
It seems clear that the two name Furthermore I am confused by the question itself. A |
@pcanal in the currently named |
As an idea for naming, and given that we foresee this being used by power users / frameworks, maybe communicate how it is created, with something like |
Hmmm, I'm not so sure about this one. From this name alone I would expect to get a pointer as the return type, rather than indicating that I have to supply the pointer. |
Just an idea: would it improve the situation if we kept the one name |
I guess we should ask the experiments about this, since this change proposal came from them. |
I agree that we should discuss it with the API reviewers. The advantage I see is that I find it easier to be verbose in the enum constant names (e.g.,
|
Thinking about this again: the reason that we have a compile time option is essentially for zero-copy views of mappable fields. However, that's not really a critical use case. How about we drop the support for Zero-copy views can be added at a later stage, e.g. as |
Replaced by #16556 |
This Pull request:
splits
RNTupleView<T, bool>
intoRNTupleUnownedView
andRNTupleOwnedView
.RNTupleView
is renamed toInternal::RNTupleViewBase
and used as the base class for the new public classes.Notes
Unowned
andOwned
labels should be changed to, respectively,Owning
andUnowning
(note the swap). On one hand you could sayRNTupleView<T, false>
is "Unowned" by the user; on the other, you could say it is "Owning" its memory. Thoughts about this?RNTupleViewBase
not constructible (aside from friend classes) by giving it a protected destructor. Maybe we don't want to exclude this possibility (e.g. to allow users to use the base class in template metaprogramming), but in this case maybe we don't want to make itInternal
either.Checklist:
This PR fixes #16321