5 #ifndef DUNE_GEOGRID_BACKUPRESTORE_HH 6 #define DUNE_GEOGRID_BACKUPRESTORE_HH 10 #include <dune/common/exceptions.hh> 25 template<
class Gr
id,
bool hasBackupRestoreFacilities = Capabilities::hasBackupRestoreFacilities< Gr
id > ::v >
29 template<
class Gr
id >
40 This &operator= (
const This & );
45 return static_cast< const Grid &
>( *this );
50 return static_cast< Grid &
>( *this );
61 template<
class HostGr
id,
class CoordFunction,
class Allocator >
68 template <
class Output>
69 static void backup (
const Grid &grid,
const Output &filename_or_stream )
72 HostBackupRestoreFacility::backup( grid.
hostGrid(), filename_or_stream );
76 template <
class Input>
80 return restore_impl(filename_or_stream, std::is_default_constructible<CoordFunction>{});
84 template <
class Input>
85 static Grid *restore_impl (
const Input &filename_or_stream, std::true_type )
88 HostGrid *hostGrid = HostBackupRestoreFacility::restore( filename_or_stream );
89 CoordFunction *coordFunction =
new CoordFunction();
90 return new Grid( hostGrid, coordFunction );
93 template <
class Input>
94 static Grid *restore_impl (
const Input &filename_stream, std::false_type )
96 DUNE_THROW(NotImplemented,
97 "Restoring a GeometryGrid with a CoordFunction that is not default-constructible is not implemented.");
104 #endif // #ifndef DUNE_GEOGRID_BACKUPRESTORE_HH const Grid & asImp() const
Definition: geometrygrid/backuprestore.hh:43
BackupRestoreFacility< HostGrid > HostBackupRestoreFacility
Definition: geometrygrid/backuprestore.hh:65
Grid & asImp()
Definition: geometrygrid/backuprestore.hh:48
Grid abstract base classThis class is the base class for all grid implementations. Although no virtual functions are used we call it abstract since its methods do not contain an implementation but forward to the methods of the derived class via the Barton-Nackman trick.
Definition: common/grid.hh:375
BackupRestoreFacilities()
Definition: geometrygrid/backuprestore.hh:35
static Grid * restore(const Input &filename_or_stream)
Restore the grid from file or stream.
Definition: geometrygrid/backuprestore.hh:77
GeometryGrid< HostGrid, CoordFunction, Allocator > Grid
Definition: geometrygrid/backuprestore.hh:64
const HostGrid & hostGrid() const
obtain constant reference to the host grid
Definition: geometrygrid/grid.hh:533
facility for writing and reading grids
Definition: common/backuprestore.hh:42
Include standard header files.
Definition: agrid.hh:59
grid wrapper replacing the geometriesGeometryGrid wraps another DUNE grid and replaces its geometry b...
Definition: declaration.hh:12
concept Grid
Requirements for implementations of the Dune::Grid interface.The Grid concept defines interface requi...
Definition: concepts/grid.hh:109
Definition: geometrygrid/backuprestore.hh:30
static void backup(const Grid &grid, const Output &filename_or_stream)
Backup the grid to file or stream.
Definition: geometrygrid/backuprestore.hh:69
Definition: geometrygrid/backuprestore.hh:26