Files
MeanField_SERiF/docs/xml/validator_8hpp.xml
Emily Boudreaux 6b57738330 docs(docs): built docs
Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
2026-11-09 14:09:44 -05:00

451 lines
27 KiB
XML

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.13.2" xml:lang="en-US">
<compounddef id="validator_8hpp" kind="file" language="C++">
<compoundname>validator.hpp</compoundname>
<includes local="no">cstddef</includes>
<includes refid="discretization_2domain_2mesh_2topology_8hpp" local="yes">serif/discretization/domain/mesh/topology.hpp</includes>
<includes refid="discretization_2domain_2relation_2concepts_8hpp" local="yes">serif/discretization/domain/relation/concepts.hpp</includes>
<includes refid="relation__list_8hpp" local="yes">serif/discretization/domain/relation/lists/relation_list.hpp</includes>
<includes refid="discretization_2domain_2relation_2validation_2runtime_8hpp" local="yes">serif/discretization/domain/relation/validation/runtime.hpp</includes>
<includes refid="discretization_2domain_2schema_2concepts_8hpp" local="yes">serif/discretization/domain/schema/concepts.hpp</includes>
<includes refid="results_8hpp" local="yes">serif/discretization/domain/schema/validation/results.hpp</includes>
<includedby refid="all_8hpp" local="yes">src/include/serif/discretization/domain/schema/validation/all.hpp</includedby>
<includedby refid="schema_2validation_2boundary_8hpp" local="yes">src/include/serif/discretization/domain/schema/validation/boundary.hpp</includedby>
<includedby refid="connected_8hpp" local="yes">src/include/serif/discretization/domain/schema/validation/connected.hpp</includedby>
<includedby refid="inscribed_8hpp" local="yes">src/include/serif/discretization/domain/schema/validation/inscribed.hpp</includedby>
<incdepgraph>
<node id="8">
<label>serif/discretization/domain/concepts.hpp</label>
<link refid="discretization_2domain_2concepts_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
</node>
<node id="31">
<label>serif/discretization/domain/ids/boundary.hpp</label>
<link refid="ids_2boundary_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
</node>
<node id="30">
<label>serif/discretization/domain/ids/concepts.hpp</label>
<link refid="discretization_2domain_2ids_2concepts_8hpp"/>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
</node>
<node id="32">
<label>serif/discretization/domain/ids/domain.hpp</label>
<link refid="domain_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
</node>
<node id="26">
<label>serif/discretization/domain/ids/lists/concepts.hpp</label>
<link refid="discretization_2domain_2ids_2lists_2concepts_8hpp"/>
<childnode refid="27" relation="include">
</childnode>
</node>
<node id="28">
<label>serif/discretization/domain/ids/lists/lists.hpp</label>
<link refid="lists_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
</node>
<node id="27">
<label>serif/discretization/domain/ids/lists/traits.hpp</label>
<link refid="discretization_2domain_2ids_2lists_2traits_8hpp"/>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="29">
<label>serif/discretization/domain/ids/validation/concepts.hpp</label>
<link refid="discretization_2domain_2ids_2validation_2concepts_8hpp"/>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
</node>
<node id="33">
<label>serif/discretization/domain/ids/validation/unique_ids.hpp</label>
<link refid="unique__ids_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
</node>
<node id="3">
<label>serif/discretization/domain/mesh/topology.hpp</label>
<link refid="discretization_2domain_2mesh_2topology_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
</node>
<node id="5">
<label>serif/discretization/domain/relation/concepts.hpp</label>
<link refid="discretization_2domain_2relation_2concepts_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="36">
<label>serif/discretization/domain/relation/lists/concepts.hpp</label>
<link refid="discretization_2domain_2relation_2lists_2concepts_8hpp"/>
<childnode refid="37" relation="include">
</childnode>
</node>
<node id="19">
<label>serif/discretization/domain/relation/lists/relation_list.hpp</label>
<link refid="relation__list_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
</node>
<node id="37">
<label>serif/discretization/domain/relation/lists/traits.hpp</label>
<link refid="discretization_2domain_2relation_2lists_2traits_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
</node>
<node id="6">
<label>serif/discretization/domain/relation/relations.hpp</label>
<link refid="discretization_2domain_2relation_2relations_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
</node>
<node id="38">
<label>serif/discretization/domain/relation/validation/concepts.hpp</label>
<link refid="discretization_2domain_2relation_2validation_2concepts_8hpp"/>
<childnode refid="39" relation="include">
</childnode>
</node>
<node id="20">
<label>serif/discretization/domain/relation/validation/runtime.hpp</label>
<link refid="discretization_2domain_2relation_2validation_2runtime_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
</node>
<node id="39">
<label>serif/discretization/domain/relation/validation/validation.hpp</label>
<link refid="discretization_2domain_2relation_2validation_2validation_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
</node>
<node id="40">
<label>serif/discretization/domain/resolver.hpp</label>
<link refid="resolver_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="23">
<label>serif/discretization/domain/schema/concepts.hpp</label>
<link refid="discretization_2domain_2schema_2concepts_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="25">
<label>serif/discretization/domain/schema/domain_schema.hpp</label>
<link refid="domain__schema_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
</node>
<node id="24">
<label>serif/discretization/domain/schema/traits.hpp</label>
<link refid="discretization_2domain_2schema_2traits_8hpp"/>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="41">
<label>serif/discretization/domain/schema/validation/results.hpp</label>
<link refid="results_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="1">
<label>src/include/serif/discretization/domain/schema/validation/validator.hpp</label>
<link refid="validator_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
</node>
<node id="13">
<label>serif/discretization/domain/types.hpp</label>
<link refid="discretization_2domain_2types_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
</node>
<node id="17">
<label>serif/utils/misc/concepts/numeric.hpp</label>
<link refid="numeric_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="34">
<label>serif/utils/misc/concepts/type_uniqueness.hpp</label>
<link refid="concepts_2type__uniqueness_8hpp"/>
<childnode refid="35" relation="include">
</childnode>
</node>
<node id="14">
<label>serif/utils/misc/std_helper/cleaning.hpp</label>
<link refid="cleaning_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="16">
<label>serif/utils/misc/std_helper/variadic_cleaning.hpp</label>
<link refid="variadic__cleaning_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="35">
<label>serif/utils/misc/traits/type_uniqueness.hpp</label>
<link refid="traits_2type__uniqueness_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="10">
<label>array</label>
</node>
<node id="18">
<label>concepts</label>
</node>
<node id="2">
<label>cstddef</label>
</node>
<node id="21">
<label>cstdint</label>
</node>
<node id="11">
<label>format</label>
</node>
<node id="12">
<label>numeric</label>
</node>
<node id="22">
<label>optional</label>
</node>
<node id="9">
<label>span</label>
</node>
<node id="42">
<label>string</label>
</node>
<node id="7">
<label>string_view</label>
</node>
<node id="15">
<label>type_traits</label>
</node>
<node id="4">
<label>vector</label>
</node>
</incdepgraph>
<invincdepgraph>
<node id="3">
<label>src/compile_time_checks/serif/backend_independent.cpp</label>
<link refid="backend__independent_8cpp"/>
</node>
<node id="4">
<label>src/include/serif/backend/mfem/discretization/schema.hpp</label>
<link refid="backend_2mfem_2discretization_2schema_8hpp"/>
</node>
<node id="2">
<label>src/include/serif/discretization/domain/schema/validation/all.hpp</label>
<link refid="all_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
</node>
<node id="5">
<label>src/include/serif/discretization/domain/schema/validation/boundary.hpp</label>
<link refid="schema_2validation_2boundary_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="6">
<label>src/include/serif/discretization/domain/schema/validation/connected.hpp</label>
<link refid="connected_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="7">
<label>src/include/serif/discretization/domain/schema/validation/inscribed.hpp</label>
<link refid="inscribed_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="1">
<label>src/include/serif/discretization/domain/schema/validation/validator.hpp</label>
<link refid="validator_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
</node>
</invincdepgraph>
<innerclass refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_relation_validator_3_afe765ce6c914acbe31dc8ccf4607d13" prot="public">serif::discretization::domain::schema::validation::SchemaRelationValidator&lt; SchemaT, relation::lists::RelationList&lt; RelationTs... &gt; &gt;</innerclass>
<innernamespace refid="namespaceserif">serif</innernamespace>
<innernamespace refid="namespaceserif_1_1discretization">serif::discretization</innernamespace>
<innernamespace refid="namespaceserif_1_1discretization_1_1domain">serif::discretization::domain</innernamespace>
<innernamespace refid="namespaceserif_1_1discretization_1_1domain_1_1schema">serif::discretization::domain::schema</innernamespace>
<innernamespace refid="namespaceserif_1_1discretization_1_1domain_1_1schema_1_1validation">serif::discretization::domain::schema::validation</innernamespace>
<briefdescription>
<para>File containing the primary RelationValidator template, plus the fold that runs one validator per declared relation. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="author"><para>Emily M. Boudreaux</para>
</simplesect>
</para>
<para><simplesect kind="note"><para>Every relation kind is validated by an explicit specialization of RelationValidator, and those specializations live in sibling headers (<ref refid="inscribed_8hpp" kindref="compound">inscribed.hpp</ref>, <ref refid="connected_8hpp" kindref="compound">connected.hpp</ref>, boundary.hpp). Under headers, instantiating SchemaRelationValidator in a translation unit that has not yet seen all of those specializations is ill-formed with no diagnostic required. That is why validate_schema lives in <ref refid="all_8hpp" kindref="compound">all.hpp</ref>, which includes this header and every specialization. Include <ref refid="all_8hpp" kindref="compound">all.hpp</ref>, not this header, to validate a mesh. </para>
</simplesect>
</para>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;cstddef&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="13"><highlight class="normal"></highlight></codeline>
<codeline lineno="14"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="discretization_2domain_2mesh_2topology_8hpp" kindref="compound">serif/discretization/domain/mesh/topology.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="discretization_2domain_2relation_2concepts_8hpp" kindref="compound">serif/discretization/domain/relation/concepts.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="relation__list_8hpp" kindref="compound">serif/discretization/domain/relation/lists/relation_list.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="discretization_2domain_2relation_2validation_2runtime_8hpp" kindref="compound">serif/discretization/domain/relation/validation/runtime.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="discretization_2domain_2schema_2concepts_8hpp" kindref="compound">serif/discretization/domain/schema/concepts.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="results_8hpp" kindref="compound">serif/discretization/domain/schema/validation/results.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1discretization_1_1domain_1_1schema_1_1validation" kindref="compound">serif::discretization::domain::schema::validation</ref><sp/>{</highlight></codeline>
<codeline lineno="22"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">relation::IsRelation;</highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight></codeline>
<codeline lineno="29"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;IsRelation<sp/>RelationT&gt;</highlight></codeline>
<codeline lineno="30" refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_relation_validator" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_relation_validator" kindref="compound">RelationValidator</ref>;</highlight></codeline>
<codeline lineno="31"><highlight class="normal"></highlight></codeline>
<codeline lineno="38"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;IsSchema<sp/>SchemaT,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>RelationListT&gt;</highlight></codeline>
<codeline lineno="39" refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_relation_validator" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_relation_validator" kindref="compound">SchemaRelationValidator</ref>;</highlight></codeline>
<codeline lineno="40"><highlight class="normal"></highlight></codeline>
<codeline lineno="47"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;<ref refid="conceptserif_1_1discretization_1_1domain_1_1schema_1_1_is_schema" kindref="compound">IsSchema</ref><sp/>SchemaT,<sp/>IsRelation...<sp/>RelationTs&gt;</highlight></codeline>
<codeline lineno="48" refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_relation_validator_3_afe765ce6c914acbe31dc8ccf4607d13" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_relation_validator" kindref="compound">SchemaRelationValidator</ref>&lt;SchemaT,<sp/><ref refid="namespaceserif_1_1discretization_1_1domain_1_1relation" kindref="compound">relation</ref>::lists::RelationList&lt;RelationTs...&gt;&gt;<sp/>{</highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_validation_result" kindref="compound">SchemaValidationResult</ref><sp/><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_relation_validator_3_afe765ce6c914acbe31dc8ccf4607d13_1a61a533b7412bed23aff42c1ac19da9c8" kindref="member">validate</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology" kindref="compound">mesh::MeshTopology</ref><sp/>&amp;topology)<sp/>{</highlight></codeline>
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_validation_result" kindref="compound">SchemaValidationResult</ref><sp/>schemaResult;</highlight></codeline>
<codeline lineno="56"><highlight class="normal"></highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>schemaResult.<ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_validation_result_1ab9524ac1c1394a3e4e6cd64f7743dbba" kindref="member">relationResults</ref>.reserve(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">...(RelationTs));</highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::size_t<sp/>relationIndex<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="59"><highlight class="normal"></highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(schemaResult.<ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_validation_result_1ab9524ac1c1394a3e4e6cd64f7743dbba" kindref="member">relationResults</ref>.push_back(<ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_relation_validation_result" kindref="compound">SchemaRelationValidationResult</ref>{</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.relationIndex<sp/>=<sp/>relationIndex++,</highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.relationName<sp/><sp/>=<sp/>RelationTs::name,</highlight></codeline>
<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.result<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_relation_validator" kindref="compound">RelationValidator&lt;RelationTs&gt;::template</ref><sp/><ref refid="structserif_1_1discretization_1_1domain_1_1schema_1_1validation_1_1_schema_relation_validator_3_afe765ce6c914acbe31dc8ccf4607d13_1a61a533b7412bed23aff42c1ac19da9c8" kindref="member">validate&lt;SchemaT&gt;</ref>(topology)</highlight></codeline>
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}),<sp/>...);<sp/></highlight><highlight class="comment">//<sp/>Fold<sp/>over<sp/>the<sp/>parameter<sp/>pack<sp/>of<sp/>relations,<sp/>running<sp/>one<sp/>validator<sp/>per<sp/>relation.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="65"><highlight class="normal"></highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>schemaResult;</highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="69"><highlight class="normal">}</highlight></codeline>
</programlisting>
<location file="src/include/serif/discretization/domain/schema/validation/validator.hpp"/>
</compounddef>
</doxygen>