https://mooseframework.inl.gov
Loading...
Searching...
No Matches
GuaranteeProvider.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12// STL includes
13#include <map>
14
15// MOOSE includes
16#include "MooseTypes.h"
17#include "Guarantee.h"
18
19class MooseObject;
20
26{
27public:
28 GuaranteeProvider(const MooseObject * moose_object);
29
30 bool hasGuarantee(const MaterialPropertyName & prop_name, Guarantee guarantee);
31
32protected:
33 void issueGuarantee(const MaterialPropertyName & prop_name, Guarantee guarantee);
34 void revokeGuarantee(const MaterialPropertyName & prop_name, Guarantee guarantee);
35
36private:
37 std::map<MaterialPropertyName, std::set<Guarantee>> _guarantees;
38};
Guarantee
Enum values for guarantees that can be demanded for material properties.
Definition Guarantee.h:17
Add-on class that provides the functionality to issue guarantees for declared material properties.
void revokeGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
void issueGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
bool hasGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
std::map< MaterialPropertyName, std::set< Guarantee > > _guarantees