Newer
Older
// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
// vi: set et ts=4 sw=2 sts=2:
#ifndef DUNE_CURVED_SURFACE_GRID_BACKUPRESTORE_HH
#define DUNE_CURVED_SURFACE_GRID_BACKUPRESTORE_HH
#include <dune/grid/common/backuprestore.hh>
#include <dune/curvedsurfacegrid/capabilities.hh>
namespace Dune
{
{
// BackupRestoreFacilities
// -----------------------
template< class Grid, bool hasBackupRestoreFacilities = Capabilities::hasBackupRestoreFacilities<Grid> ::v >
class BackupRestoreFacilities
{};
template< class Grid >
using Self = BackupRestoreFacilities<Grid, true>;
protected:
BackupRestoreFacilities ()
{}
private:
BackupRestoreFacilities (const Self&);
Self& operator= (const Self&);
// BackupRestoreFacility for CurvedSurfaceGrid
// -------------------------------------------
template< class GridFunction, int order >
struct BackupRestoreFacility<CurvedSurfaceGrid<GridFunction, order>>
using Grid = CurvedSurfaceGrid<GridFunction, order>;
using HostGrid = typename Grid::HostGrid;
using HostBackupRestoreFacility = BackupRestoreFacility<HostGrid>;
static void backup (const Grid& grid, const std::string& filename)
HostBackupRestoreFacility::backup(grid.hostGrid(), filename);
static void backup (const Grid& grid, const std::ostream& stream)
HostBackupRestoreFacility::backup(grid.hostGrid(), stream);
static Grid* restore (const std::string& filename)
assert(false && "Restore not yet implemented for CurvedSurfaceGrid");
return nullptr;
static Grid* restore (const std::istream& stream)
assert(false && "Restore not yet implemented for CurvedSurfaceGrid");
return nullptr;
#endif // DUNE_CURVED_SURFACE_GRID_BACKUPRESTORE_HH