|
Celeritas 0.7.0-dev.224+develop.84a24a8b
|
Store and reference persistent collection groups on host and device. More...
#include <CollectionMirror.hh>

Public Types | |
Type aliases | |
| using | HostValue = celeritas::HostVal< P > |
| using | HostRef = celeritas::HostCRef< P > |
| using | DeviceRef = celeritas::DeviceCRef< P > |
Public Types inherited from celeritas::ParamsDataInterface< P > | |
| using | HostRef = HostCRef< P > |
| using | DeviceRef = DeviceCRef< P > |
Public Member Functions | |
| CollectionMirror ()=default | |
| Default constructor leaves the class in an "unassigned" state. | |
| CollectionMirror (HostValue &&host) | |
| Construct by capturing host data. | |
| operator bool () const | |
| Whether the data is assigned. | |
| HostRef const & | host_ref () const final |
| Access data on host. | |
| DeviceRef const & | device_ref () const final |
| Access data on device, if the device is enabled. | |
Public Member Functions inherited from celeritas::ParamsDataInterface< P > | |
| template<MemSpace M> | |
| P< Ownership::const_reference, M > const & | ref () const |
| template<MemSpace M> | |
| P< Ownership::const_reference, M > const & | ref () const |
| Dispatch a "ref" call to host or device data. | |
Additional Inherited Members | |
Protected Member Functions inherited from celeritas::ParamsDataInterface< P > | |
| CELER_DEFAULT_COPY_MOVE (ParamsDataInterface) | |
Store and reference persistent collection groups on host and device.
| P | Params data collection group |
This should generally be an implementation detail of Params classes, which are constructed on host and must have the same data both on host and device. The template P must be a FooData class that:
On assignment, it will copy the data to the device if the GPU is enabled.
|
inlinefinalvirtual |
Access data on device, if the device is enabled.
Implements celeritas::ParamsDataInterface< P >.
|
inlinefinalvirtual |
Access data on host.
Implements celeritas::ParamsDataInterface< P >.