4#ifndef DUNE_GRID_IO_FILE_GMSH_FILEREADER_HH
5#define DUNE_GRID_IO_FILE_GMSH_FILEREADER_HH
14namespace Dune::Impl::Gmsh
16 template <
class Gr
id,
class FilerReaderImp>
21 using Implementation = FilerReaderImp;
24 struct Accessor :
public Implementation
26 template <
class ... Args>
27 static std::unique_ptr<Grid> createGridFromFileImpl (Args&&... args)
29 return Implementation::createGridFromFileImpl(std::forward<Args>(args)...);
32 template <
class ... Args>
33 static void fillFactoryImpl (Args&&... args)
35 return Implementation::fillFactoryImpl(std::forward<Args>(args)...);
42 template <
class ... Args>
43 static std::unique_ptr<Grid> createGridFromFile (
const std::string &filename, Args&&... args)
45 return Accessor::createGridFromFileImpl(filename, std::forward<Args>(args)...);
50 template <
class ... Args>
51 static void fillFactory (GridFactory<Grid> &factory,
const std::string &filename, Args&&... args)
53 Accessor::fillFactoryImpl(factory, filename, std::forward<Args>(args)...);
59 template <
class ... Args>
60 static std::unique_ptr<Grid> createGridFromFileImpl (
const std::string &filename, Args&&... args)
62 GridFactory<Grid> factory;
63 fillFactory(factory, filename, std::forward<Args>(args)...);
65 return std::unique_ptr<Grid>{ factory.createGrid() };
69 template <
class ... Args>
70 static void fillFactoryImpl (GridFactory<Grid> & ,
const std::string & ,
74 "GridReader using a factory argument not implemented for concrete reader implementation.");
Provide a generic factory class for unstructured grids.
A few common exception classes.
#define DUNE_THROW(E,...)
Definition: exceptions.hh:314