results.hpp cstddef optional string_view vector format string serif/discretization/domain/relation/validation/runtime.hpp src/include/serif/discretization/domain/schema/validation/all.hpp src/include/serif/discretization/domain/schema/validation/validator.hpp src/lib/serif/discretization/domain/schema/validation/results.cpp serif::discretization::domain::schema::validation::SchemaRelationValidationResult serif::discretization::domain::schema::validation::SchemaValidationResult std::formatter< serif::discretization::domain::schema::validation::SchemaValidationResult > serif serif::discretization serif::discretization::domain serif::discretization::domain::schema serif::discretization::domain::schema::validation File containing the data structures used for representing the results of validating a schema against a mesh. Emily M. Boudreaux #pragmaonce #include<cstddef> #include<optional> #include<string_view> #include<vector> #include<format> #include<string> #include"serif/discretization/domain/relation/validation/runtime.hpp" //Theaggregateresultofvalidatingawholeschemaagainstamesh namespaceserif::discretization::domain::schema::validation{ structSchemaRelationValidationResult{ std::size_trelationIndex{0}; std::string_viewrelationName; relation::validation::RelationValidationResultresult; [[nodiscard]]boolvalid()constnoexcept; [[nodiscard]]explicitoperatorbool()constnoexcept; }; structSchemaValidationResult{ std::vector<SchemaRelationValidationResult>relationResults; [[nodiscard]]boolvalid()constnoexcept; [[nodiscard]]explicitoperatorbool()constnoexcept; [[nodiscard]]std::size_trelation_count()constnoexcept; [[nodiscard]]std::size_tfailed_relation_count()constnoexcept; [[nodiscard]]std::size_tpassed_relation_count()constnoexcept; [[nodiscard]]std::optional<std::size_t>first_failed_relation_index()constnoexcept; }; } template<> structstd::formatter<serif::discretization::domain::schema::validation::SchemaValidationResult>{ std::formatter<std::string>string_formatter; constexprautoparse(std::format_parse_context&ctx){ returnstring_formatter.parse(ctx); } autoformat(constserif::discretization::domain::schema::validation::SchemaValidationResult&result,std::format_context&ctx)const{ std::stringoutput; output+="SchemaValidationResult:\n"; output+=std::format("Valid:{}\n",result.valid()); output+=std::format("Relationcount:{}\n",result.relation_count()); output+=std::format("Passedrelationcount:{}\n",result.passed_relation_count()); output+=std::format("Failedrelationcount:{}\n",result.failed_relation_count()); if(autofirst_failed_index=result.first_failed_relation_index()){ output+=std::format("Firstfailedrelationindex:{}\n",*first_failed_index); }else{ output+="Nofailedrelations.\n"; } returnstring_formatter.format(output,ctx); } };