1#ifndef DUNE_FEM_GRIDOBJECTSTREAMS_HH
2#define DUNE_FEM_GRIDOBJECTSTREAMS_HH
6#include <dune/fem/misc/griddeclaration.hh>
17 struct DummyObjectStream
19 class EOFException {};
22 void read ( T & )
const {
DUNE_THROW( NotImplemented,
"DummyObjectStream::read not implemented." ); }
25 void readObject ( T & ) {
DUNE_THROW( NotImplemented,
"DummyObjectStream::readObject not implemented." ); }
27 void readObject (
int ) {
DUNE_THROW( NotImplemented,
"DummyObjectStream::readObject not implemented." ); }
28 void readObject (
double ) {
DUNE_THROW( NotImplemented,
"DummyObjectStream::readObject not implemented." ); }
31 void write (
const T & ) {
DUNE_THROW( NotImplemented,
"DummyObjectStream::write not implemented." ); }
34 void writeObject ( T & ) {
DUNE_THROW( NotImplemented,
"DummyObjectStream::writeObject not implemented." ); }
36 void writeObject (
int ) {
DUNE_THROW( NotImplemented,
"DummyObjectStream::writeObject not implemented." ); }
37 void writeObject (
double ) {
DUNE_THROW( NotImplemented,
"DummyObjectStream::writeObject not implemented." ); }
45 template<
class Gr
id >
46 struct GridObjectStreamTraits
48 typedef DummyObjectStream InStreamType;
49 typedef DummyObjectStream OutStreamType;
52 template<
class Gr
id >
53 struct GridObjectStreamTraits< const Grid >
55 typedef typename GridObjectStreamTraits< Grid >::InStreamType InStreamType;
56 typedef typename GridObjectStreamTraits< Grid >::OutStreamType OutStreamType;
65 template<
int dim,
int dimworld, ALUGr
idElementType elType, ALUGr
idRefinementType refineType,
class Comm >
66 struct GridObjectStreamTraits< ALUGrid< dim, dimworld, elType, refineType, Comm > >
68 typedef typename ALUGrid< dim, dimworld, elType, refineType, Comm >::ObjectStreamType InStreamType;
69 typedef typename ALUGrid< dim, dimworld, elType, refineType, Comm >::ObjectStreamType OutStreamType;
77#if HAVE_DUNE_P4ESTGRID
78 template<
int dim,
int dimworld,
class ctype >
79 struct GridObjectStreamTraits< P4estGrid< dim, dimworld, ctype > >
81 typedef typename P4estGrid< dim, dimworld, ctype > :: ObjectStreamType InStreamType;
82 typedef typename P4estGrid< dim, dimworld, ctype > :: ObjectStreamType OutStreamType;
92 template<
class HostGr
id >
93 struct GridObjectStreamTraits< CacheItGrid< HostGrid > >
95 typedef typename GridObjectStreamTraits< HostGrid >::InStreamType InStreamType;
96 typedef typename GridObjectStreamTraits< HostGrid >::OutStreamType OutStreamType;
105#if HAVE_DUNE_METAGRID
106 template<
class HostGr
id >
107 struct GridObjectStreamTraits< CartesianGrid< HostGrid > >
109 typedef typename GridObjectStreamTraits< HostGrid >::InStreamType InStreamType;
110 typedef typename GridObjectStreamTraits< HostGrid >::OutStreamType OutStreamType;
119#if HAVE_DUNE_METAGRID
120 template<
class HostGr
id >
121 struct GridObjectStreamTraits< FilteredGrid< HostGrid > >
123 typedef typename GridObjectStreamTraits< HostGrid >::InStreamType InStreamType;
124 typedef typename GridObjectStreamTraits< HostGrid >::OutStreamType OutStreamType;
133 template<
class HostGr
id,
class CoordFunction,
class Allocator >
134 struct GridObjectStreamTraits< GeometryGrid< HostGrid, CoordFunction, Allocator > >
136 typedef typename GridObjectStreamTraits< HostGrid >::InStreamType InStreamType;
137 typedef typename GridObjectStreamTraits< HostGrid >::OutStreamType OutStreamType;
145#if HAVE_DUNE_METAGRID
146 template<
class HostGr
id >
147 struct GridObjectStreamTraits< IdGrid< HostGrid > >
149 typedef typename GridObjectStreamTraits< HostGrid >::InStreamType InStreamType;
150 typedef typename GridObjectStreamTraits< HostGrid >::OutStreamType OutStreamType;
159#if HAVE_DUNE_METAGRID
160 template<
class HostGr
id >
161 struct GridObjectStreamTraits< ParallelGrid< HostGrid > >
163 typedef typename ParallelGrid< HostGrid >::RankManager::ObjectStream InStreamType;
164 typedef typename ParallelGrid< HostGrid >::RankManager::ObjectStream OutStreamType;
173#if HAVE_DUNE_METAGRID
174 template<
class HostGr
id,
class MapToSphere >
175 struct GridObjectStreamTraits< SphereGrid< HostGrid, MapToSphere > >
177 typedef typename GridObjectStreamTraits< HostGrid >::InStreamType InStreamType;
178 typedef typename GridObjectStreamTraits< HostGrid >::OutStreamType OutStreamType;
A few common exception classes.
#define DUNE_THROW(E, m)
Definition: exceptions.hh:218
Dune namespace.
Definition: alignedallocator.hh:13