Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Teuchos_Condition.hpp
Go to the documentation of this file.
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_CONDITION_HPP_
11 #define TEUCHOS_CONDITION_HPP_
12 
18 #include "Teuchos_Dependency.hpp"
19 #include "Teuchos_Describable.hpp"
20 
21 namespace Teuchos {
22 
28 class TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT Condition : public Describable{
29 public:
30 
33 
38 
40 
42 
45 
50 
54  virtual ~Condition(){}
55 
57 
58 
61 
63  virtual bool isConditionTrue() const = 0;
64 
72  virtual bool containsAtLeasteOneParameter() const = 0;
73 
78  virtual Dependency::ConstParameterEntryList getAllParameters() const = 0;
79 
83  virtual std::string getTypeAttributeValue() const = 0;
84 
86  static const std::string& getXMLTagName(){
87  static const std::string xmlTagName = "Condition";
88  return xmlTagName;
89  }
90 
92 
93 };
94 
95 }
96 #endif //TEUCHOS_CONDITION_HPP_
std::set< RCP< const ParameterEntry >, RCPConstComp > ConstParameterEntryList
A list of dependents.
virtual ~Condition()
Destructs a condition.
static const std::string & getXMLTagName()
Condition()
Constructs a Condition.
A Condition determines whether or not a particular set of conditions are currently occuring...
Base class for all objects that can describe themselves.
Teuchos::Array< Teuchos::RCP< Condition > > ConditionList
Convenience typedef for defining a list of conditions.
Replacement for std::vector that is compatible with the Teuchos Memory Management classes...