www.mooseframework.org
GuaranteeProvider.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
8 #ifndef GUARANTEEPROVIDER_H
9 #define GUARANTEEPROVIDER_H
10 
11 // STL includes
12 #include <map>
13 
14 // MOOSE includes
15 #include "MooseTypes.h"
16 #include "Guarantee.h"
17 
18 class MooseObject;
19 
25 {
26 public:
27  GuaranteeProvider(const MooseObject * moose_object);
28 
29  bool hasGuarantee(const MaterialPropertyName & prop_name, Guarantee guarantee);
30 
31 protected:
32  void issueGuarantee(const MaterialPropertyName & prop_name, Guarantee guarantee);
33  void revokeGuarantee(const MaterialPropertyName & prop_name, Guarantee guarantee);
34 
35 private:
36  std::map<MaterialPropertyName, std::set<Guarantee>> _guarantees;
37 };
38 
39 #endif // GUARANTEEPROVIDER_H
GuaranteeProvider(const MooseObject *moose_object)
Add-on class that provides the functionality to issue guarantees for declared material properties...
void issueGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
std::map< MaterialPropertyName, std::set< Guarantee > > _guarantees
bool hasGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
void revokeGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
Guarantee
Enum values for guarantees that can be demanded for material properties.
Definition: Guarantee.h:15