GEOSX
FunctionManager.hpp
Go to the documentation of this file.
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 Total, S.A
8  * Copyright (c) 2019- GEOSX Contributors
9  * All rights reserved
10  *
11  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
12  * ------------------------------------------------------------------------------------------------------------
13  */
14 
19 #ifndef GEOSX_MANAGERS_FUNCTIONS_FUNCTIONMANAGER_HPP_
20 #define GEOSX_MANAGERS_FUNCTIONS_FUNCTIONMANAGER_HPP_
21 
22 #include "dataRepository/Group.hpp"
23 #include "FunctionBase.hpp"
24 
25 namespace geosx
26 {
27 
34 {
35 public:
37  FunctionManager( const std::string & name,
38  dataRepository::Group * const parent );
39 
43  virtual ~FunctionManager() override;
44 
50  {
51  static FunctionManager theFunctionManager( "Functions", nullptr );
52  return theFunctionManager;
53  }
54 
59  static string CatalogName() { return "FunctionManager"; }
60 
67  virtual Group * CreateChild( string const & functionCatalogKey, string const & functionName ) override;
68 
72  virtual void ExpandObjectCatalogs() override;
73 
74 };
75 
76 } /* namespace geosx */
77 
78 #endif /* GEOSX_MANAGERS_FUNCTIONS_FUNCTIONMANAGER_HPP_ */
FunctionManager(const std::string &name, dataRepository::Group *const parent)
Constructor.
static FunctionManager & Instance()
Return the function manager instance.
virtual void ExpandObjectCatalogs() override
This function is used to expand any catalogs in the data structure.
virtual ~FunctionManager() override
destructor
static string CatalogName()
Static Factory Catalog Functions.
std::string string
String type.
Definition: DataTypes.hpp:131
virtual Group * CreateChild(string const &functionCatalogKey, string const &functionName) override
Create a new FunctionManager object as a child of this group.