GEOS
FunctionManager.hpp
Go to the documentation of this file.
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 TotalEnergies
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 
20 #ifndef GEOS_FUNCTIONS_FUNCTIONMANAGER_HPP_
21 #define GEOS_FUNCTIONS_FUNCTIONMANAGER_HPP_
22 
23 #include "FunctionBase.hpp"
24 
25 #include "dataRepository/Group.hpp"
26 
27 namespace geos
28 {
29 
36 {
37 public:
39  FunctionManager( const string & name,
40  dataRepository::Group * const parent );
41 
45  virtual ~FunctionManager() override;
46 
51 
56  static string catalogName() { return "FunctionManager"; }
57 
64  virtual Group * createChild( string const & functionCatalogKey, string const & functionName ) override;
65 
69  virtual void expandObjectCatalogs() override;
70 
71 private:
72  static FunctionManager * m_instance;
73 };
74 
75 } /* namespace geos */
76 
77 #endif /* GEOS_FUNCTIONS_FUNCTIONMANAGER_HPP_ */
static string catalogName()
Static Factory Catalog Functions.
virtual Group * createChild(string const &functionCatalogKey, string const &functionName) override
Create a new FunctionManager object as a child of this group.
FunctionManager(const string &name, dataRepository::Group *const parent)
Constructor.
static FunctionManager & getInstance()
virtual void expandObjectCatalogs() override
This function is used to expand any catalogs in the data structure.
virtual ~FunctionManager() override
destructor