Interface to allow object to consume Reporter values.
More...
#include <ReporterInterface.h>
Interface to allow object to consume Reporter values.
Definition at line 22 of file ReporterInterface.h.
◆ ReporterInterface()
ReporterInterface::ReporterInterface |
( |
const MooseObject * |
moose_object | ) |
|
Definition at line 20 of file ReporterInterface.C.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
const ReporterData & getReporterData() const
Provides const access the ReporterData object.
const MooseObject & _ri_moose_object
The MooseObject needing this interface.
const InputParameters & _ri_params
Parameters for the MooseObject inherting from this interface.
const ReporterData & _ri_reporter_data
The ReporterData.
const InputParameters & parameters() const
Get the parameters of the object.
FEProblemBase & _ri_fe_problem_base
Provides access to FEProblemBase::getReporterData.
◆ addReporterDependencyHelper()
virtual void ReporterInterface::addReporterDependencyHelper |
( |
const ReporterName & |
| ) |
|
|
inlineprotectedvirtual |
◆ getReporterName()
const ReporterName & ReporterInterface::getReporterName |
( |
const std::string & |
param_name | ) |
const |
|
protected |
- Returns
- The ReporterName associated with the parametre
param_name
.
Performs error checking to mak sure that the parameter is valid.
Definition at line 49 of file ReporterInterface.C.
Referenced by getReporterValue(), and hasReporterValue().
53 "When getting a Reporter, failed to get a parameter with the name \"",
56 "\n\nKnown parameters:\n",
66 "\" is not an expected type for getting a Reporter.\n\n",
67 "The expected type is \"ReporterName\".");
const MooseObject & _ri_moose_object
The MooseObject needing this interface.
const InputParameters & _ri_params
Parameters for the MooseObject inherting from this interface.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const InputParameters & parameters() const
Get the parameters of the object.
The Reporter system is comprised of objects that can contain any number of data values.
◆ getReporterValue() [1/2]
template<typename T >
const T & ReporterInterface::getReporterValue |
( |
const std::string & |
param_name, |
|
|
const std::size_t |
time_index = 0 |
|
) |
| |
|
protected |
doco-normal-methods-begin Returns read-only reference to a Reporter value that is provided by an input parameter.
- Template Parameters
-
T | The C++ type of the Reporter value being consumed |
- Parameters
-
param_name | The name of the parameter that gives the name of the Reporter, which must be a ReporterName parameter (i.e., getParam<ReporterName>(param_name)). |
mode | The mode that the object will consume the Reporter value time_index (optional) If zero is provided the current value is returned. Use a positive index to return previous values (1 = older, 2 = older, etc.). The maximum number of old values is dictated by the ReporterData object. |
Definition at line 133 of file ReporterInterface.h.
const ReporterMode REPORTER_MODE_UNSET
◆ getReporterValue() [2/2]
template<typename T >
const T & ReporterInterface::getReporterValue |
( |
const std::string & |
param_name, |
|
|
ReporterMode |
mode, |
|
|
const std::size_t |
time_index = 0 |
|
) |
| |
|
protected |
Definition at line 140 of file ReporterInterface.h.
146 possiblyCheckHasReporter<T>(reporter_name, param_name);
148 return getReporterValueByName<T>(reporter_name, mode, time_index);
const ReporterName & getReporterName(const std::string ¶m_name) const
◆ getReporterValueByName() [1/2]
template<typename T >
const T & ReporterInterface::getReporterValueByName |
( |
const ReporterName & |
reporter_name, |
|
|
const std::size_t |
time_index = 0 |
|
) |
| |
|
protected |
Returns read-only reference to a Reporter value that is provided by name directly.
- Template Parameters
-
T | The C++ type of the Reporter value being consumed |
- Parameters
-
reporter_name | A ReporterName object that for the desired Reporter value. |
mode | The mode that the object will consume the Reporter value time_index (optional) If zero is provided the current value is returned. Use a positive index to return previous values (1 = older, 2 = older, etc.). The maximum number of old values is dictated by the ReporterData object. |
Definition at line 153 of file ReporterInterface.h.
const ReporterMode REPORTER_MODE_UNSET
◆ getReporterValueByName() [2/2]
template<typename T >
const T & ReporterInterface::getReporterValueByName |
( |
const ReporterName & |
reporter_name, |
|
|
ReporterMode |
mode, |
|
|
const std::size_t |
time_index = 0 |
|
) |
| |
|
protected |
Definition at line 161 of file ReporterInterface.h.
165 possiblyCheckHasReporter<T>(reporter_name);
virtual void addReporterDependencyHelper(const ReporterName &)
A method that can be overridden to update the UO dependencies.
const T & getReporterValue(const ReporterName &reporter_name, const MooseObject &consumer, const ReporterMode &mode, const std::size_t time_index=0) const
Method for returning read only references to Reporter values.
const MooseObject & _ri_moose_object
The MooseObject needing this interface.
const ReporterData & _ri_reporter_data
The ReporterData.
◆ hasReporterValue() [1/2]
bool ReporterInterface::hasReporterValue |
( |
const std::string & |
param_name | ) |
const |
|
protected |
Return True if the Reporter value exists.
- Template Parameters
-
T | The C++ type of the Reporter value being consumed |
- Parameters
-
Definition at line 29 of file ReporterInterface.C.
33 "Cannot call hasReporterValue() until all Reporters have been constructed.");
const ReporterName & getReporterName(const std::string ¶m_name) const
bool reportersAdded() const
const MooseObject & _ri_moose_object
The MooseObject needing this interface.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
bool hasReporterValueByName(const ReporterName &reporter_name) const
◆ hasReporterValue() [2/2]
template<typename T >
bool ReporterInterface::hasReporterValue |
( |
const std::string & |
param_name | ) |
const |
|
protected |
Definition at line 174 of file ReporterInterface.h.
178 "Cannot call hasReporterValue() until all Reporters have been constructed.");
const ReporterName & getReporterName(const std::string ¶m_name) const
bool reportersAdded() const
const MooseObject & _ri_moose_object
The MooseObject needing this interface.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
◆ hasReporterValueByName() [1/2]
bool ReporterInterface::hasReporterValueByName |
( |
const ReporterName & |
reporter_name | ) |
const |
|
protected |
Definition at line 39 of file ReporterInterface.C.
Referenced by hasReporterValue(), and AdvancedOutput::initShowHideLists().
43 "Cannot call hasReporterValueByName() until all Reporters have been constructed.");
bool reportersAdded() const
const MooseObject & _ri_moose_object
The MooseObject needing this interface.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const ReporterData & _ri_reporter_data
The ReporterData.
bool hasReporterValue(const ReporterName &reporter_name) const
Return True if a Reporter value with the given type and name have been created.
◆ hasReporterValueByName() [2/2]
template<typename T >
bool ReporterInterface::hasReporterValueByName |
( |
const ReporterName & |
reporter_name | ) |
const |
|
protected |
Definition at line 185 of file ReporterInterface.h.
189 "Cannot call hasReporterValueByName() until all Reporters have been constructed.");
bool reportersAdded() const
const MooseObject & _ri_moose_object
The MooseObject needing this interface.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const ReporterData & _ri_reporter_data
The ReporterData.
bool hasReporterValue(const ReporterName &reporter_name) const
Return True if a Reporter value with the given type and name have been created.
◆ possiblyCheckHasReporter()
template<typename T >
void ReporterInterface::possiblyCheckHasReporter |
( |
const ReporterName & |
reporter_name, |
|
|
const std::string & |
param_name = "" |
|
) |
| const |
|
private |
Helpers for "possibly" checking if a Reporter value exists.
This is only able to check for existance after all Reporters have been added (after the task creating them has been called). If called before said task, this will do nothing, hence the "possibly". This allows us to have errors reported directly by the object requesting the Reporter instead of through a system with less context.
Definition at line 196 of file ReporterInterface.h.
199 if (
reportersAdded() && !hasReporterValueByName<T>(reporter_name))
201 std::stringstream oss;
202 oss <<
"A Reporter value with the name \"" << reporter_name <<
"\" and type \"" 203 << MooseUtils::prettyCppType<T>() <<
"\" was not found.";
bool reportersAdded() const
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
const MooseObject & _ri_moose_object
The MooseObject needing this interface.
const InputParameters & _ri_params
Parameters for the MooseObject inherting from this interface.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
◆ reportersAdded()
bool ReporterInterface::reportersAdded |
( |
| ) |
const |
|
private |
- Returns
- True if all Reporters have been added (the task associated with adding them is complete)
Definition at line 71 of file ReporterInterface.C.
Referenced by hasReporterValue(), hasReporterValueByName(), and possiblyCheckHasReporter().
bool isTaskComplete(const std::string &task) const
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
ActionWarehouse & actionWarehouse()
Return a writable reference to the ActionWarehouse associated with this app.
FEProblemBase & _ri_fe_problem_base
Provides access to FEProblemBase::getReporterData.
◆ validParams()
◆ _ri_fe_problem_base
◆ _ri_moose_object
◆ _ri_params
◆ _ri_reporter_data
The documentation for this class was generated from the following files: