-
Notifications
You must be signed in to change notification settings - Fork 168
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
feat: Add TransformRange helper #3060
feat: Add TransformRange helper #3060
Conversation
This implements a transforming range adapter, similar to what will be available with the C++20+ ranges library, but much less powerful.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3060 +/- ##
==========================================
+ Coverage 48.93% 48.98% +0.05%
==========================================
Files 488 489 +1
Lines 28918 28947 +29
Branches 13713 13713
==========================================
+ Hits 14152 14181 +29
Misses 4951 4951
Partials 9815 9815 ☔ View full report in Codecov by Sentry. |
@niermann999 I've simplified (I think) the typedefs, and straightened out (hopefully) the type deductions. Could you have another look? |
Added doc comments now. |
📊: Physics performance monitoring for 2f6323aphysmon summary
|
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.
Looks good. Just minor suggestions
This PR: - Marks all of the Gen1 interface of `TrackingVolume` as such, to indicate what we'll supersede in the future - Makes a slight adjustment to [`TransformRange`](#3060), for - Add internal vector of uniquely owned child `TrackingVolume`s in `TrackingVolume`, accessible in a const-preserving way through `TransformRange`. - Updates the `TrackingVolume` constructors, eliminating one convenience one we don't need, and start adding ones we'll use for Gen3 Blocked by: - #3060
This implements a transforming range adapter, similar to what will be available with the C++20+ ranges library, but much less powerful. I'm planning to use this to gate mutable access to inner structures like child volumes in `TrackingVolume`, by using the `ConstDereference` policy for this range helper, which will always dereference and convert to const.
…roject#3064) This PR: - Marks all of the Gen1 interface of `TrackingVolume` as such, to indicate what we'll supersede in the future - Makes a slight adjustment to [`TransformRange`](acts-project#3060), for - Add internal vector of uniquely owned child `TrackingVolume`s in `TrackingVolume`, accessible in a const-preserving way through `TransformRange`. - Updates the `TrackingVolume` constructors, eliminating one convenience one we don't need, and start adding ones we'll use for Gen3 Blocked by: - acts-project#3060
This implements a transforming range adapter, similar to what will be available with the C++20+ ranges library, but much less powerful. I'm planning to use this to gate mutable access to inner structures like child volumes in `TrackingVolume`, by using the `ConstDereference` policy for this range helper, which will always dereference and convert to const.
…roject#3064) This PR: - Marks all of the Gen1 interface of `TrackingVolume` as such, to indicate what we'll supersede in the future - Makes a slight adjustment to [`TransformRange`](acts-project#3060), for - Add internal vector of uniquely owned child `TrackingVolume`s in `TrackingVolume`, accessible in a const-preserving way through `TransformRange`. - Updates the `TrackingVolume` constructors, eliminating one convenience one we don't need, and start adding ones we'll use for Gen3 Blocked by: - acts-project#3060
This implements a transforming range adapter, similar to what will be available with the C++20+ ranges library, but much less powerful.
I'm planning to use this to gate mutable access to inner structures like child volumes in
TrackingVolume
, by using theConstDereference
policy for this range helper, which will always dereference and convert to const.