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;
146 template <
typename T>
153 template <
typename T>
157 const std::size_t time_index)
161 possiblyCheckHasReporter<T>(reporter_name, param_name);
163 return getReporterValueByName<T>(reporter_name, mode, time_index);
166 template <
typename T>
169 const std::size_t time_index)
174 template <
typename T>
178 const std::size_t time_index)
180 possiblyCheckHasReporter<T>(reporter_name);
187 template <
typename T>
193 "Cannot call hasReporterValue() until all Reporters have been constructed.");
198 template <
typename T>
204 "Cannot call hasReporterValueByName() until all Reporters have been constructed.");
209 template <
typename T>
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.";
virtual void addReporterDependencyHelper(const ReporterName &)
A method that can be overridden to update the UO dependencies.
static InputParameters validParams()
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 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.
const ReporterMode REPORTER_MODE_UNSET
const ReporterName & getReporterName(const std::string ¶m_name) const
const ReporterContextBase & getReporterContextBaseByName(const ReporterName &reporter_name) const
Get the reporter context to allow non-typed operations with the data.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
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
This is a helper class to aid with parallel communication of compute Reporter values as well as provi...
bool hasReporterValue(const std::string ¶m_name) const
Return True if the Reporter value exists.
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.
Every object that can be built by the factory should be derived from this class.
Interface to allow object to consume Reporter values.
ReporterInterface(const MooseObject *moose_object)
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 and optionally a file path to the top-level block p...
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.
MooseEnumItem that automatically creates the ID and doesn't allow the ID to be assigned.
void possiblyCheckHasReporter(const ReporterName &reporter_name, const std::string ¶m_name="") const
Helpers for "possibly" checking if a Reporter value exists.
bool hasReporterValueByName(const ReporterName &reporter_name) const
The Reporter system is comprised of objects that can contain any number of data values.
FEProblemBase & _ri_fe_problem_base
Provides access to FEProblemBase::getReporterData.
This is a helper class for managing the storage of declared Reporter object values.