Chombo + EB  3.2
AMRLevelFactory.H
Go to the documentation of this file.
1 #ifdef CH_LANG_CC
2 /*
3  * _______ __
4  * / ___/ / ___ __ _ / / ___
5  * / /__/ _ \/ _ \/ V \/ _ \/ _ \
6  * \___/_//_/\___/_/_/_/_.__/\___/
7  * Please refer to Copyright.txt, in Chombo's root directory.
8  */
9 #endif
10 
11 #ifndef _AMRLEVELFACTORY_H_
12 #define _AMRLEVELFACTORY_H_
13 
14 #include "AMRLevel.H"
15 #include "NamespaceHeader.H"
16 
17 /// Factory class to produce an AMRLevel.
18 /**
19  This is needed for construction of AMRLevel-derived classes by
20  the AMR class.
21 */
23 {
24 public:
25  ///
26  /**
27  Factory function. Creates a new AMRLevel.
28  In your instantiation you should include defining
29  all the stuff that is not part of the AMRLevel API.
30  */
31  virtual AMRLevel* new_amrlevel() const = 0;
32 
33  // to make gcc v4 happy
34  virtual ~AMRLevelFactory()
35  {
36  }
37 };
38 
39 #include "NamespaceFooter.H"
40 #endif
virtual AMRLevel * new_amrlevel() const =0
Abstract base class for time-dependent data at a level of refinement.
Definition: AMRLevel.H:47
Factory class to produce an AMRLevel.
Definition: AMRLevelFactory.H:22
virtual ~AMRLevelFactory()
Definition: AMRLevelFactory.H:34