Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Teuchos_ParameterListAcceptor.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Teuchos: Common Tools Package
4 //
5 // Copyright 2004 NTESS and the Teuchos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef TEUCHOS_PARAMETER_LIST_ACCEPTOR_HPP
11 #define TEUCHOS_PARAMETER_LIST_ACCEPTOR_HPP
12 
13 #include "Teuchos_ConfigDefs.hpp"
14 
15 namespace Teuchos {
16 
17 class ParameterList;
18 class DependencySheet;
19 template<class T> class RCP;
20 
120 class TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT ParameterListAcceptor {
121 public:
123  virtual ~ParameterListAcceptor ();
124 
126 
127 
155  virtual void setParameterList (const RCP<ParameterList>& paramList) = 0;
156 
166  virtual RCP<ParameterList> getNonconstParameterList() = 0;
167 
178  virtual RCP<ParameterList> unsetParameterList() = 0;
179 
181 
183 
192  virtual RCP<const ParameterList> getParameterList() const;
193 
203  virtual RCP<const ParameterList> getValidParameters() const;
204 
212  virtual RCP<const DependencySheet> getDependencies() const;
213 
215 };
216 
217 } // end namespace Teuchos
218 
219 #endif // TEUCHOS_PARAMETER_LIST_ACCEPTOR_HPP
Teuchos header file which uses auto-configuration information to include necessary C++ headers...
Interface for objects that can accept a ParameterList.
Smart reference counting pointer class for automatic garbage collection.