27#include "neml2/base/NEML2Object.h"
32class DiagnosticsInterface;
68 template <
typename...
Args>
87template <
typename...
Args>
96 std::ostringstream
oss;
97 internal::stream_all(
oss,
103 std::forward<Args>(
args)...);
The wrapper (decorator) for cross-referencing unresolved values at parse time.
Definition CrossRef.h:56
Exception type reserved for diagnostics, so as to not conceptually clash with other exceptions.
Definition DiagnosticsInterface.h:37
Interface for object making diagnostics about common setup errors.
Definition DiagnosticsInterface.h:47
void diagnostic_check_input_variable(std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
Definition DiagnosticsInterface.cxx:91
void diagnostic_assert(std::vector< Diagnosis > &diagnoses, bool assertion, Args &&... args) const
Definition DiagnosticsInterface.h:89
void diagnostic_check_output_variable(std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
Definition DiagnosticsInterface.cxx:104
DiagnosticsInterface(NEML2Object *object)
Definition DiagnosticsInterface.cxx:45
void diagnostic_assert_old_state(std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
Definition DiagnosticsInterface.cxx:59
void diagnostic_assert_residual(std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
Definition DiagnosticsInterface.cxx:83
void diagnostic_assert_force(std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
Definition DiagnosticsInterface.cxx:67
void diagnostic_assert_old_force(std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
Definition DiagnosticsInterface.cxx:75
void diagnostic_assert_state(std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
Definition DiagnosticsInterface.cxx:51
virtual void diagnose(std::vector< Diagnosis > &diagnoses) const =0
Check for common problems.
The base class of all "manufacturable" objects in the NEML2 library.
Definition NEML2Object.h:38
const std::string & name() const
A readonly reference to the object's name.
Definition NEML2Object.h:65
const std::string & type() const
A readonly reference to the object's type.
Definition NEML2Object.h:67
Definition CrossRef.cxx:30
void diagnose(const DiagnosticsInterface &patient)
Raise diagnostics as exception, if any.
Definition DiagnosticsInterface.cxx:31