|
DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
|
Device memory abstraction layer with backend-specific storage and factory creation. More...
#include "DNDS/Errors.hpp"#include "Defines.hpp"#include <cstddef>#include <cstdint>#include <memory>#include <type_traits>Go to the source code of this file.
Classes | |
| class | DNDS::DeviceStorageBase |
| Abstract interface to a byte buffer owned by a specific backend. More... | |
| struct | DNDS::device_storage_factory< B > |
| Factory functions for constructing DeviceStorageBase instances of a specific backend. Specialised per backend so that the concrete type creation can live in backend-specific translation units. More... | |
| struct | DNDS::device_storage_factory< DeviceBackend::Host > |
Namespaces | |
| namespace | DNDS |
| the host side operators are provided as implemented | |
Typedefs | |
| using | DNDS::t_supDeviceStorageBase = std::unique_ptr< DeviceStorageBase, std::function< void(DeviceStorageBase *)> > |
| Owning unique pointer to a DeviceStorageBase with cross-DLL-safe deleter. | |
| using | DNDS::t_sspDeviceStorageBase = std::shared_ptr< DeviceStorageBase > |
| Shared pointer equivalent of t_supDeviceStorageBase. | |
Enumerations | |
| enum class | DNDS::DeviceBackend { DNDS::Unknown = 0 , DNDS::Host = 1 , DNDS::Custom1 = 101 } |
| Enumerates the backends a DeviceStorage / Array can live on. More... | |
Functions | |
| const char * | DNDS::device_backend_name (DeviceBackend B) |
| Canonical string name for a DeviceBackend (used in log messages). | |
| DeviceBackend | DNDS::device_backend_name_to_enum (std::string_view s) |
| Inverse of device_backend_name. Returns Unknown for unrecognised names. | |
| void | DNDS::deviceStorageBase_deleter (DeviceStorageBase *p) |
Stateless deleter for DeviceStorageBase that works across shared-library boundaries where the vtable of unique_ptr's default deleter would not. | |
| t_supDeviceStorageBase | DNDS::null_supDeviceStorageBase () |
| Null-value helper for t_supDeviceStorageBase. | |
| t_supDeviceStorageBase | DNDS::device_storage_create (DeviceBackend backend, size_t n_bytes) |
Top-level factory: dispatches to the per-backend factory based on backend. Returns a null unique_ptr for DeviceBackendUnknown. | |
Device memory abstraction layer with backend-specific storage and factory creation.
Definition in file DeviceStorage.hpp.