-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[ntuple] automatic evolution in and out std::atomic #19937
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
base: master
Are you sure you want to change the base?
Conversation
9ce4dd5
to
ac97cad
Compare
Test Results 21 files 21 suites 3d 13h 52m 56s ⏱️ For more details on these failures, see this check. Results for commit 73ef349. ♻️ This comment has been updated with latest results. |
{ | ||
auto model = ROOT::RNTupleModel::Create(); | ||
auto a = model->MakeField<std::atomic<std::int32_t>>("a"); | ||
auto i = model->MakeField<std::int32_t>("i"); |
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.
Maybe we should also test with a class type (and one where is_lock_free
is false)
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.
In principle, the changes look neat and small. I'm wondering about the error case: When reconciling an RAtomicField
with something on-disk that is not std::atomic
, we unconditionally delegate to the item field. Is that maybe confusing for the error message? (I don't have an immediate idea how to do it better)
|
||
void ROOT::RAtomicField::ReconcileOnDiskField(const RNTupleDescriptor &desc) | ||
{ | ||
static const std::vector<std::string> prefixes = {"std::atomic<"}; |
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.
not used anymore
Allow for std::atomic<T> --> T (or compatible) automatic conversion and vice versa.
ac97cad
to
73ef349
Compare
Allow for std::atomic --> T (or compatible) automatic conversion and vice versa.