https://mooseframework.inl.gov
Loading...
Searching...
No Matches
GuaranteeProvider.C
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#include "GuaranteeProvider.h"
11#include "MooseObject.h"
12
14
15bool
16GuaranteeProvider::hasGuarantee(const MaterialPropertyName & prop_name, Guarantee guarantee)
17{
18 auto it = _guarantees.find(prop_name);
19 if (it == _guarantees.end())
20 return false;
21
22 auto it2 = it->second.find(guarantee);
23 return it2 != it->second.end();
24}
25
26void
27GuaranteeProvider::issueGuarantee(const MaterialPropertyName & prop_name, Guarantee guarantee)
28{
29 // intentional insertion
30 _guarantees[prop_name].insert(guarantee);
31}
32
33void
34GuaranteeProvider::revokeGuarantee(const MaterialPropertyName & prop_name, Guarantee guarantee)
35{
36 auto it = _guarantees.find(prop_name);
37 if (it != _guarantees.end())
38 it->second.erase(guarantee);
39}
Guarantee
Enum values for guarantees that can be demanded for material properties.
Definition Guarantee.h:17
void revokeGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
void issueGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
bool hasGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
GuaranteeProvider(const MooseObject *moose_object)
std::map< MaterialPropertyName, std::set< Guarantee > > _guarantees