results.cpp serif/discretization/domain/schema/validation/results.hpp serif serif::discretization serif::discretization::domain serif::discretization::domain::schema serif::discretization::domain::schema::validation #include"serif/discretization/domain/schema/validation/results.hpp" namespaceserif::discretization::domain::schema::validation{ boolSchemaRelationValidationResult::valid()constnoexcept{ returnresult.valid(); } SchemaRelationValidationResult::operatorbool()constnoexcept{ returnvalid(); } boolSchemaValidationResult::valid()constnoexcept{ for(constauto&relationResult:relationResults){ if(!relationResult.valid()){ returnfalse; } } returntrue; } SchemaValidationResult::operatorbool()constnoexcept{ returnvalid(); } std::size_tSchemaValidationResult::relation_count()constnoexcept{ returnrelationResults.size(); } std::size_tSchemaValidationResult::failed_relation_count()constnoexcept{ std::size_tfailureCount=0; for(constauto&relationResult:relationResults){ if(!relationResult.valid()){ ++failureCount; } } returnfailureCount; } std::size_tSchemaValidationResult::passed_relation_count()constnoexcept{ returnrelationResults.size()-failed_relation_count(); } std::optional<std::size_t>SchemaValidationResult::first_failed_relation_index()constnoexcept{ for(std::size_trelationIndex=0;relationIndex<relationResults.size();++relationIndex){ if(!relationResults[relationIndex].valid()){ returnrelationIndex; } } returnstd::nullopt; } }