acts-project / vecmem

Vectorised data model base and helper classes.
https://acts-project.github.io/vecmem/
Mozilla Public License 2.0
19 stars 13 forks source link

Add Copy for SoA Containers, main branch (2023.12.10.) #255

Closed krasznaa closed 10 months ago

krasznaa commented 11 months ago

In the 5th step of the #246 saga.

Taught vecmem::copy about the vecmem::edm types.

At the same time fixed a logic bug in vecmem::copy::set_sizes (noticed this one while making a mistake in the testing code...), and made vecmem::edm::host::resize a bit smarter. (Making sure that jagged vectors would be set up with the correct memory resource after the resize.)

Note that not everything is implemented for the SoA types yet. Generic vecmem::copy::get_sizes and vecmem::copy::set_sizes functions should still be added later on. I just couldn't come up with a good API for them yet. (Similar to how vecmem::edm::buffer cannot be set up yet for jagged vector variables of differing inner sizes.)

paulgessinger commented 10 months ago

@krasznaa it depends on how intimidating it looks, and how my day is going 😅