19 #include <type_traits> 54 #ifdef MOOSE_KOKKOS_ENABLED 61 virtual void store(nlohmann::json & json)
const;
123 T &
declareValue(
const std::string & param_name, Args &&... args);
131 template <
typename T,
typename S,
typename... Args>
132 T &
declareValue(
const std::string & param_name, Args &&... args);
133 template <
typename T,
typename S,
typename... Args>
135 template <
typename T,
typename S,
typename... Args>
137 template <
typename T,
typename S,
typename... Args>
151 template <
typename T,
typename... Args>
172 template <
typename T>
204 template <
typename T,
template <
typename>
class S,
typename... Args>
211 template <
typename T,
template <
typename>
class S,
typename... Args>
215 return declareValue<T, S<T>>(param_name, mode, args...);
218 template <
typename T,
typename S,
typename... Args>
225 template <
typename T,
typename S,
typename... Args>
232 template <
typename T,
template <
typename>
class S,
typename... Args>
239 template <
typename T,
template <
typename>
class S,
typename... Args>
245 return declareValueByName<T, S<T>>(value_name, mode, args...);
248 template <
typename T,
typename S,
typename... Args>
255 template <
typename T,
typename S,
typename... Args>
271 return declareUnusedValue<T>();
276 template <
typename T,
typename... Args>
282 return wrapper->
value;
T & declareValueByName(const ReporterValueName &value_name, Args &&... args)
std::vector< std::unique_ptr< UnusedWrapperBase > > _unused_values
Storage for unused values declared with declareUnusedValue().
virtual bool shouldStore() const
T & declareReporterValue(const ReporterName &reporter_name, const ReporterMode &mode, const MooseObject &producer, Args &&... args)
Method for returning a writable reference to the current Reporter value.
const ReporterMode REPORTER_MODE_UNSET
virtual ~Reporter()=default
const InputParameters & parameters() const
Get the parameters of the object.
FEProblemBase & _reporter_fe_problem
Needed for access to FEProblemBase::getReporterData.
A class to provide an common interface to objects requiring "outputs" option.
const ReporterValueName & getReporterValueName(const std::string ¶m_name) const
Reporter objects allow for the declaration of arbitrary data types that are aggregate values for a si...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Internal struct for storing a unused value.
const std::string & _reporter_name
The name of the MooseObject, from "_object_name" param.
virtual void store(nlohmann::json &json) const
Every object that can be built by the factory should be derived from this class.
virtual ~UnusedWrapperBase()
Needed for polymorphism.
Reporter(const MooseObject *moose_object)
void buildOutputHideVariableList(std::set< std::string > variable_names)
Builds hide lists for output objects NOT listed in the 'outputs' parameter.
ReporterData & _reporter_data
Data storage.
virtual void declareLateValues()
Method that can be overriden to declare "late" Reporter values.
T & declareValue(const std::string ¶m_name, Args &&... args)
Method to define a value that the Reporter object is to produced.
const InputParameters & _reporter_params
Ref. to MooseObject params.
static InputParameters validParams()
T & declareUnusedValue(Args &&... args)
Declare a unused value with type T.
const MooseObject & _reporter_moose_object
The MooseObject creating this Reporter.
Internal base struct for use in storing unused values.
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.
This is a helper class for managing the storage of declared Reporter object values.