GEOSX
ParticleBlockManagerABC.hpp
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
7  * Copyright (c) 2018-2020 TotalEnergies
8  * Copyright (c) 2020- GEOSX Contributors
9  * All rights reserved
10  *
11  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
12  * ------------------------------------------------------------------------------------------------------------
13  */
14 
15 #ifndef GEOSX_PARTICLEBLOCKMANAGERABC_HPP
16 #define GEOSX_PARTICLEBLOCKMANAGERABC_HPP
17 
18 #include "dataRepository/Group.hpp"
19 #include "common/DataTypes.hpp"
20 
21 namespace geos
22 {
23 
28 {
29 public:
30 
36  ParticleBlockManagerABC( string const & name, Group * const parent ):
37  Group( name, parent )
38  {
39  // Left blank
40  }
41 
48  virtual Group & getParticleBlocks() = 0;
49 
54  virtual const Group & getParticleBlocks() const = 0;
55 
56 };
57 
58 }
59 #endif // include guard
Abstract base class for ParticleBlockManager.
ParticleBlockManagerABC(string const &name, Group *const parent)
Constructor.
virtual const Group & getParticleBlocks() const =0
Returns a group containing the cell blocks as ParticleBlockABC instances.
virtual Group & getParticleBlocks()=0
Returns a group containing the cell blocks as ParticleBlockABC instances.