19 #include <type_traits> 53 virtual void store(nlohmann::json & json)
const;
115 T &
declareValue(
const std::string & param_name, Args &&... args);
123 template <
typename T,
typename S,
typename... Args>
124 T &
declareValue(
const std::string & param_name, Args &&... args);
125 template <
typename T,
typename S,
typename... Args>
127 template <
typename T,
typename S,
typename... Args>
129 template <
typename T,
typename S,
typename... Args>
143 template <
typename T,
typename... Args>
164 template <
typename T>
196 template <
typename T,
template <
typename>
class S,
typename... Args>
203 template <
typename T,
template <
typename>
class S,
typename... Args>
207 return declareValue<T, S<T>>(param_name, mode, args...);
210 template <
typename T,
typename S,
typename... Args>
217 template <
typename T,
typename S,
typename... Args>
224 template <
typename T,
template <
typename>
class S,
typename... Args>
231 template <
typename T,
template <
typename>
class S,
typename... Args>
237 return declareValueByName<T, S<T>>(value_name, mode, args...);
240 template <
typename T,
typename S,
typename... Args>
247 template <
typename T,
typename S,
typename... Args>
263 return declareUnusedValue<T>();
268 template <
typename T,
typename... Args>
274 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
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.
const InputParameters & parameters() const
Get the parameters of the object.
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.