SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::utils::errors Namespace Reference

Classes

class  NonFiniteValue
 A numerical action produced a nonfinite coefficient, distinguishable from a broken API contract. Most numerical interfaces report rejection as a value. MFEM operator applications return void, so their checked caller intercepts this specific bridge while other exceptions propagate. More...
 
struct  serif_error_printer
 

Enumerations

enum class  SERiFErrorCode : uint16_t {
  UNKNOWN_ERROR = 0 , INVALID_ARGUMENT = 100 , INVALID_QUADRATURE_ORDER , INVALID_DOMAIN_ERROR =110 ,
  NEGATIVE_VALUE_ERROR , NON_FINITE_VALUE_ERROR , JACOBIAN_ERROR = 200 , INVERTED_JACOBIAN ,
  NON_FINITE_DETERMINATE , EOS_ERROR = 300 , EOS_UNSUPPORTED_RELATION , EOS_UNSUPPORTED_DERIVATIVE ,
  EOS_WRONG_INPUT_COUNT , EOS_WRONG_INPUT_QUANTITY , EOS_NONFINITE_INPUT , EOS_OUTSIDE_DOMAIN ,
  EOS_NONFINITE_RESULT , EOS_INVALID_THERMODYNAMIC_INPUT , INVALID_DIMENSION = 400 , NON_FINITE_MAPPING_INPUT ,
  INVALID_REFERENCE_RADIUS , AT_COMPACTIFIED_INFINITY , OUTSIDE_REFERENCE_DOMAIN , NON_FINITE_MAPPING_RESULT ,
  NON_POSITIVE_DETERMINATE , INVALID_MAPPING , MISC_MAPPING_ERROR =410 , INVALID_DOF_COUNT ,
  INVALID_ELEMENT_GEOMETRY , INVALID_DOF_ORDERING , INVALID_COMPACTIFICATION_RANK , INVALID_COMPACTIFICATION_TYPE ,
  INVALID_COMPACTIFICATION_DERIVATIVE_TYPE , INVALID_VACUUM_ELEMENT_ATTRIBUTE_ID , MISSING_EXTERIOR_MAP , COMPACTIFICATION_MISMATCH ,
  MISSING_FACE_ELEMENT , JACOBIAN_SHAPE_ERROR , MISSING_DISPLACEMENT_FINITE_ELEMENT_SPACE , MISMATCHED_MESHING_MAPS ,
  IMPROPERLY_ORDERED_REFERENCE_RADII = 450 , INVALID_COORDINATE_TOLERANCE , EVALUATOR_ERROR =460 , CACHE_FE_BINDING_ERROR ,
  INVALID_ELEMENT_ID_ERROR , ELEMENT_NULLPTR_ERROR , DISCRETIZATION_ERROR = 500 , SCHEMA_ERROR = 510 ,
  INVALID_SCHEMA_ARGUMENTS = 512 , MATRIX_SHAPE_ERROR = 600 , OUT_OF_RANGE_ERROR , SOLVER_ERROR = 700 ,
  NORMALIZATION_ERROR = 730 , NORMALIZATION_VECTOR_SIZE_MISMATCH , NORMALIZATION_BUFFER_OVERLAP , PRECONDITIONER_ERROR = 750 ,
  PRECONDITIONER_INVALID_OPTIONS , PRECONDITIONER_INVALID_OPERATOR , PRECONDITIONER_SIZE_MISMATCH , PRECONDITIONER_NONFINITE_VALUE ,
  PRECONDITIONER_SINGULAR_OPERATOR , PRECONDITIONER_ILL_CONDITIONED_OPERATOR , PRECONDITIONER_STALE_LINEARIZATION , PRECONDITIONER_INCOMPATIBLE_STRATEGY ,
  PRECONDITIONER_UNPREPARED , PRECONDITIONER_INVALID_CALIBRATION , EQUATION_ERROR = 800 , FAILED_TYPE_INVARIANT = 1000
}
 

Functions

template<SERiFErrorCode code>
std::string format_error_message (const std::string_view message, auto... args)
 
template<misc::concepts::IsException ExceptionT, SERiFErrorCode code>
void serif_error (const std::string_view message, auto... args)
 
template<SERiFErrorCode code, bool condition, types::FixedString message>
constexpr void serif_assert ()
 
template<SERiFErrorCode code, misc::concepts::IsException ExceptionT = std::logic_error>
void serif_assert (const bool condition, const std::string_view message, auto &&... args)
 
template<SERiFErrorCode code, misc::concepts::IsException ExceptionT = std::logic_error>
void serif_ensure (const bool condition, const std::string_view message, auto... args)
 
template<SERiFErrorCode code, bool condition, types::CTString message>
constexpr void serif_ensure ()
 

Variables

auto SERiFErrorCodeNameToTypeMap = meta::enum_to_string_enum_map<SERiFErrorCode>()
 
auto SERiFErrorCodeTypeToNameMap = meta::enum_to_enum_string_map<SERiFErrorCode>()
 

Enumeration Type Documentation

◆ SERiFErrorCode

enum class serif::utils::errors::SERiFErrorCode : uint16_t
strong
Enumerator
UNKNOWN_ERROR 
INVALID_ARGUMENT 
INVALID_QUADRATURE_ORDER 
INVALID_DOMAIN_ERROR 
NEGATIVE_VALUE_ERROR 
NON_FINITE_VALUE_ERROR 
JACOBIAN_ERROR 
INVERTED_JACOBIAN 
NON_FINITE_DETERMINATE 
EOS_ERROR 
EOS_UNSUPPORTED_RELATION 
EOS_UNSUPPORTED_DERIVATIVE 
EOS_WRONG_INPUT_COUNT 
EOS_WRONG_INPUT_QUANTITY 
EOS_NONFINITE_INPUT 
EOS_OUTSIDE_DOMAIN 
EOS_NONFINITE_RESULT 
EOS_INVALID_THERMODYNAMIC_INPUT 
INVALID_DIMENSION 
NON_FINITE_MAPPING_INPUT 
INVALID_REFERENCE_RADIUS 
AT_COMPACTIFIED_INFINITY 
OUTSIDE_REFERENCE_DOMAIN 
NON_FINITE_MAPPING_RESULT 
NON_POSITIVE_DETERMINATE 
INVALID_MAPPING 
MISC_MAPPING_ERROR 
INVALID_DOF_COUNT 
INVALID_ELEMENT_GEOMETRY 
INVALID_DOF_ORDERING 
INVALID_COMPACTIFICATION_RANK 
INVALID_COMPACTIFICATION_TYPE 
INVALID_COMPACTIFICATION_DERIVATIVE_TYPE 
INVALID_VACUUM_ELEMENT_ATTRIBUTE_ID 
MISSING_EXTERIOR_MAP 
COMPACTIFICATION_MISMATCH 
MISSING_FACE_ELEMENT 
JACOBIAN_SHAPE_ERROR 
MISSING_DISPLACEMENT_FINITE_ELEMENT_SPACE 
MISMATCHED_MESHING_MAPS 
IMPROPERLY_ORDERED_REFERENCE_RADII 
INVALID_COORDINATE_TOLERANCE 
EVALUATOR_ERROR 
CACHE_FE_BINDING_ERROR 
INVALID_ELEMENT_ID_ERROR 
ELEMENT_NULLPTR_ERROR 
DISCRETIZATION_ERROR 
SCHEMA_ERROR 
INVALID_SCHEMA_ARGUMENTS 
MATRIX_SHAPE_ERROR 
OUT_OF_RANGE_ERROR 
SOLVER_ERROR 
NORMALIZATION_ERROR 
NORMALIZATION_VECTOR_SIZE_MISMATCH 
NORMALIZATION_BUFFER_OVERLAP 
PRECONDITIONER_ERROR 
PRECONDITIONER_INVALID_OPTIONS 
PRECONDITIONER_INVALID_OPERATOR 
PRECONDITIONER_SIZE_MISMATCH 
PRECONDITIONER_NONFINITE_VALUE 
PRECONDITIONER_SINGULAR_OPERATOR 
PRECONDITIONER_ILL_CONDITIONED_OPERATOR 
PRECONDITIONER_STALE_LINEARIZATION 
PRECONDITIONER_INCOMPATIBLE_STRATEGY 
PRECONDITIONER_UNPREPARED 
PRECONDITIONER_INVALID_CALIBRATION 
EQUATION_ERROR 
FAILED_TYPE_INVARIANT 

Function Documentation

◆ format_error_message()

template<SERiFErrorCode code>
std::string serif::utils::errors::format_error_message ( const std::string_view message,
auto... args )

◆ serif_assert() [1/2]

template<SERiFErrorCode code, bool condition, types::FixedString message>
void serif::utils::errors::serif_assert ( )
constexpr

This is the feature flag for C++26 user defined static_assert messages.

◆ serif_assert() [2/2]

template<SERiFErrorCode code, misc::concepts::IsException ExceptionT = std::logic_error>
void serif::utils::errors::serif_assert ( const bool condition,
const std::string_view message,
auto &&... args )

◆ serif_ensure() [1/2]

template<SERiFErrorCode code, bool condition, types::CTString message>
void serif::utils::errors::serif_ensure ( )
constexpr

This is the feature flag for C++26 user defined static_assert messages.

◆ serif_ensure() [2/2]

template<SERiFErrorCode code, misc::concepts::IsException ExceptionT = std::logic_error>
void serif::utils::errors::serif_ensure ( const bool condition,
const std::string_view message,
auto... args )

◆ serif_error()

template<misc::concepts::IsException ExceptionT, SERiFErrorCode code>
void serif::utils::errors::serif_error ( const std::string_view message,
auto... args )

Variable Documentation

◆ SERiFErrorCodeNameToTypeMap

auto serif::utils::errors::SERiFErrorCodeNameToTypeMap = meta::enum_to_string_enum_map<SERiFErrorCode>()
inline

◆ SERiFErrorCodeTypeToNameMap

auto serif::utils::errors::SERiFErrorCodeTypeToNameMap = meta::enum_to_enum_string_map<SERiFErrorCode>()
inline