28#ifdef MOOSE_KOKKOS_ENABLED
49 const T &
getReporterValue(
const std::string & param_name,
const std::size_t time_index = 0);
53 const std::size_t time_index = 0);
69 const std::size_t time_index = 0);
73 const std::size_t time_index = 0);
129 template <
typename T>
131 const std::string & param_name =
"")
const;
157 const std::size_t time_index)
161 possiblyCheckHasReporter<T>(reporter_name, param_name);
163 return getReporterValueByName<T>(reporter_name, mode, time_index);
169 const std::size_t time_index)
178 const std::size_t time_index)
180 possiblyCheckHasReporter<T>(reporter_name);
193 "Cannot call hasReporterValue() until all Reporters have been constructed.");
204 "Cannot call hasReporterValueByName() until all Reporters have been constructed.");
212 const std::string & param_name )
const
214 if (
reportersAdded() && !hasReporterValueByName<T>(reporter_name))
216 std::stringstream oss;
217 oss <<
"A Reporter value with the name \"" << reporter_name <<
"\" and type \""
218 << MooseUtils::prettyCppType<T>() <<
"\" was not found.";
const ReporterMode REPORTER_MODE_UNSET
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
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 ...
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Every object that can be built by the factory should be derived from this class.
This is a helper class to aid with parallel communication of compute Reporter values as well as provi...
This is a helper class for managing the storage of declared Reporter object values.
bool hasReporterValue(const ReporterName &reporter_name) const
Return True if a Reporter value with the given type and name have been created.
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.
Interface to allow object to consume Reporter values.
const ReporterName & getReporterName(const std::string ¶m_name) const
const T & getReporterValue(const std::string ¶m_name, const std::size_t time_index=0)
doco-normal-methods-begin Returns read-only reference to a Reporter value that is provided by an inpu...
bool reportersAdded() const
const InputParameters & _ri_params
Parameters for the MooseObject inherting from this interface.
const MooseObject & _ri_moose_object
The MooseObject needing this interface.
static InputParameters validParams()
const ReporterData & _ri_reporter_data
The ReporterData.
bool hasReporterValueByName(const ReporterName &reporter_name) const
bool hasReporterValue(const std::string ¶m_name) const
Return True if the Reporter value exists.
FEProblemBase & _ri_fe_problem_base
Provides access to FEProblemBase::getReporterData.
void possiblyCheckHasReporter(const ReporterName &reporter_name, const std::string ¶m_name="") const
Helpers for "possibly" checking if a Reporter value exists.
const ReporterContextBase & getReporterContextBaseByName(const ReporterName &reporter_name) const
Get the reporter context to allow non-typed operations with the data.
const T & getReporterValueByName(const ReporterName &reporter_name, const std::size_t time_index=0)
Returns read-only reference to a Reporter value that is provided by name directly.
virtual void addReporterDependencyHelper(const ReporterName &)
A method that can be overridden to update the UO dependencies.
MooseEnumItem that automatically creates the ID and doesn't allow the ID to be assigned.
The Reporter system is comprised of objects that can contain any number of data values.