1 #ifndef HOSTDEVICE_HPP 2 #define HOSTDEVICE_HPP 3 4 #include "../impldevicebase.hpp" /*I "petscdevice.h" I*/ 5 6 namespace Petsc 7 { 8 9 namespace device 10 { 11 12 namespace host 13 { 14 15 class Device : public ::Petsc::device::impl::DeviceBase<Device> { 16 public: 17 PETSC_DEVICE_IMPL_BASE_CLASS_HEADER(base_type, Device); 18 19 static PetscErrorCode initialize(MPI_Comm, PetscInt *, PetscBool *, PetscDeviceInitType *) noexcept; 20 21 private: 22 PETSC_CXX_COMPAT_DECL(constexpr PetscDeviceType PETSC_DEVICE_IMPL_()) { return PETSC_DEVICE_HOST; } 23 24 static PetscErrorCode get_attribute_(PetscInt, PetscDeviceAttribute, void *) noexcept; 25 }; 26 27 } // namespace host 28 29 } // namespace device 30 31 } // namespace Petsc 32 33 #endif // HOSTDEVICE_HPP 34