GEOS
MeshComponentBase.hpp
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2024 Total, S.A
7  * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
8  * Copyright (c) 2023-2024 Chevron
9  * Copyright (c) 2019- GEOS/GEOSX Contributors
10  * All rights reserved
11  *
12  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
13  * ------------------------------------------------------------------------------------------------------------
14  */
15 
16 /*
17  * @file MeshComponentBase.hpp
18  *
19  */
20 
21 #ifndef GEOS_MESH_GENERATORS_MESHCOMPONENTBASE_HPP_
22 #define GEOS_MESH_GENERATORS_MESHCOMPONENTBASE_HPP_
23 
24 #include "dataRepository/Group.hpp"
25 #include "codingUtilities/Utilities.hpp"
26 #include "common/DataTypes.hpp"
27 
28 
29 namespace geos
30 {
31 
38 {
39 public:
40 
46  MeshComponentBase( string const & name,
47  Group * const parent );
48 
52  virtual ~MeshComponentBase();
53 
58  static string catalogName() { return "MeshComponentBase"; }
59 
64 
67 };
68 
69 }
70 #endif /* GEOS_MESH_GENERATORS_MESHCOMPONENTBASE_HPP_ */
static string catalogName()
Get the catalog name.
virtual ~MeshComponentBase()
Default destructor.
MeshComponentBase(string const &name, Group *const parent)
Constructor.
static CatalogInterface::CatalogType & getCatalog()
Get the singleton catalog for this Group.
This class provides the base class/interface for the catalog value objects.
std::unordered_map< std::string, std::unique_ptr< CatalogInterface< BASETYPE, ARGS... > > > CatalogType
This is the type that will be used for the catalog. The catalog is actually instantiated in the BASET...