Files
MeanField_SERiF/docs/xml/equations_2contributions_8hpp.xml

1005 lines
55 KiB
XML
Raw Normal View History

<?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="equations_2contributions_8hpp" kind="file" language="C++">
<compoundname>contributions.hpp</compoundname>
<includes local="no">tuple</includes>
<includes local="no">type_traits</includes>
<includes local="no">utility</includes>
<includes refid="discretization_2blocks_2traits_8hpp" local="yes">serif/discretization/blocks/traits.hpp</includes>
<includes refid="operands_8hpp" local="yes">serif/discretization/forms/operands.hpp</includes>
<includedby refid="computation__owners_8cpp" local="yes">src/compile_time_checks/serif/operators/computation_owners.cpp</includedby>
<includedby refid="angular__momentum_8hpp" local="yes">src/include/serif/equations/angular_momentum.hpp</includedby>
<includedby refid="barotropic__density_8hpp" local="yes">src/include/serif/equations/barotropic_density.hpp</includedby>
<includedby refid="barycenter_8hpp" local="yes">src/include/serif/equations/barycenter.hpp</includedby>
<includedby refid="equations_2concepts_8hpp" local="yes">src/include/serif/equations/concepts.hpp</includedby>
<includedby refid="equations_2equations_8hpp" local="yes">src/include/serif/equations/equations.hpp</includedby>
<includedby refid="mass__normalization_8hpp" local="yes">src/include/serif/equations/mass_normalization.hpp</includedby>
<includedby refid="primal__gravity_8hpp" local="yes">src/include/serif/equations/primal_gravity.hpp</includedby>
<incdepgraph>
<node id="10">
<label>serif/dimensions/dimensions.hpp</label>
<link refid="dimensions_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
</node>
<node id="11">
<label>serif/dimensions/quantities.hpp</label>
<link refid="quantities_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="16">
<label>serif/discretization/blocks/base.hpp</label>
<link refid="base_8hpp"/>
</node>
<node id="6">
<label>serif/discretization/blocks/concepts.hpp</label>
<link refid="discretization_2blocks_2concepts_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
</node>
<node id="7">
<label>serif/discretization/blocks/fields.hpp</label>
<link refid="fields_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="5">
<label>serif/discretization/blocks/traits.hpp</label>
<link refid="discretization_2blocks_2traits_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
</node>
<node id="22">
<label>serif/discretization/domain/concepts.hpp</label>
<link refid="discretization_2domain_2concepts_8hpp"/>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
</node>
<node id="28">
<label>serif/discretization/domain/physical_domains.hpp</label>
<link refid="physical__domains_8hpp"/>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
</node>
<node id="26">
<label>serif/discretization/domain/types.hpp</label>
<link refid="discretization_2domain_2types_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="32">
<label>serif/discretization/forms/operands.hpp</label>
<link refid="operands_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
</node>
<node id="17">
<label>serif/discretization/functional_space/space.hpp</label>
<link refid="space_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
</node>
<node id="1">
<label>src/include/serif/equations/contributions.hpp</label>
<link refid="equations_2contributions_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
</node>
<node id="19">
<label>serif/meta/enums.hpp</label>
<link refid="enums_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="30">
<label>serif/meta/names.hpp</label>
<link refid="names_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
</node>
<node id="15">
<label>serif/utils/misc/concepts/numeric.hpp</label>
<link refid="numeric_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="14">
<label>serif/utils/misc/std_helper/cleaning.hpp</label>
<link refid="cleaning_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="27">
<label>serif/utils/misc/std_helper/variadic_cleaning.hpp</label>
<link refid="variadic__cleaning_8hpp"/>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="29">
<label>serif/utils/types/type_list.hpp</label>
<link refid="type__list_8hpp"/>
</node>
<node id="8">
<label>array</label>
</node>
<node id="12">
<label>compare</label>
</node>
<node id="13">
<label>concepts</label>
</node>
<node id="23">
<label>cstddef</label>
</node>
<node id="18">
<label>format</label>
</node>
<node id="21">
<label>magic_enum/magic_enum_all.hpp</label>
</node>
<node id="31">
<label>nameof.hpp</label>
</node>
<node id="25">
<label>numeric</label>
</node>
<node id="24">
<label>span</label>
</node>
<node id="9">
<label>string_view</label>
</node>
<node id="2">
<label>tuple</label>
</node>
<node id="3">
<label>type_traits</label>
</node>
<node id="20">
<label>unordered_map</label>
</node>
<node id="4">
<label>utility</label>
</node>
</incdepgraph>
<invincdepgraph>
<node id="19">
<label>src/compile_time_checks/serif/backend_independent.cpp</label>
<link refid="backend__independent_8cpp"/>
</node>
<node id="4">
<label>src/compile_time_checks/serif/model/barotropic_density.cpp</label>
<link refid="barotropic__density_8cpp"/>
</node>
<node id="5">
<label>src/compile_time_checks/serif/model/density_primal.cpp</label>
<link refid="density__primal_8cpp"/>
</node>
<node id="6">
<label>src/compile_time_checks/serif/model/execution_validation.cpp</label>
<link refid="execution__validation_8cpp"/>
</node>
<node id="47">
<label>src/compile_time_checks/serif/model/finite_elements.cpp</label>
<link refid="compile__time__checks_2serif_2model_2finite__elements_8cpp"/>
</node>
<node id="7">
<label>src/compile_time_checks/serif/model/normalization.cpp</label>
<link refid="normalization_8cpp"/>
</node>
<node id="67">
<label>src/compile_time_checks/serif/model/scalar_row.cpp</label>
<link refid="compile__time__checks_2serif_2model_2scalar__row_8cpp"/>
</node>
<node id="31">
<label>src/compile_time_checks/serif/model/state.cpp</label>
<link refid="state_8cpp"/>
</node>
<node id="21">
<label>src/compile_time_checks/serif/model/validation.cpp</label>
<link refid="compile__time__checks_2serif_2model_2validation_8cpp"/>
</node>
<node id="2">
<label>src/compile_time_checks/serif/operators/computation_owners.cpp</label>
<link refid="computation__owners_8cpp"/>
</node>
<node id="22">
<label>src/compile_time_checks/serif/operators/coordinate_identity_meanfield.cpp</label>
<link refid="coordinate__identity__meanfield_8cpp"/>
</node>
<node id="8">
<label>src/compile_time_checks/serif/operators/plan.cpp</label>
<link refid="operators_2plan_8cpp"/>
</node>
<node id="9">
<label>src/compile_time_checks/serif/solver/normalization/plan.cpp</label>
<link refid="solver_2normalization_2plan_8cpp"/>
</node>
<node id="56">
<label>src/include/serif/backend/mfem/discretization/field_values.hpp</label>
<link refid="field__values_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="39">
<label>src/include/serif/backend/mfem/model/binding.hpp</label>
<link refid="backend_2mfem_2model_2binding_8hpp"/>
<childnode refid="40" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
</node>
<node id="61">
<label>src/include/serif/backend/mfem/model/computations/interior.hpp</label>
<link refid="interior_8hpp"/>
<childnode refid="62" relation="include">
</childnode>
<childnode refid="63" relation="include">
</childnode>
<childnode refid="64" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="62">
<label>src/include/serif/backend/mfem/model/computations/potential_infinity.hpp</label>
<link refid="potential__infinity_8hpp"/>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="63">
<label>src/include/serif/backend/mfem/model/computations/pressure_boundary.hpp</label>
<link refid="model_2computations_2pressure__boundary_8hpp"/>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="66">
<label>src/include/serif/backend/mfem/model/computations/scalar_row.hpp</label>
<link refid="computations_2scalar__row_8hpp"/>
<childnode refid="67" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
</node>
<node id="64">
<label>src/include/serif/backend/mfem/model/computations/surface_potential.hpp</label>
<link refid="backend_2mfem_2model_2computations_2surface__potential_8hpp"/>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="78">
<label>src/include/serif/backend/mfem/model/discretization.hpp</label>
<link refid="model_2discretization_8hpp"/>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="30">
<label>src/include/serif/backend/mfem/model/equilibrium.hpp</label>
<link refid="backend_2mfem_2model_2equilibrium_8hpp"/>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
</node>
<node id="40">
<label>src/include/serif/backend/mfem/model/equilibrium_evaluator.hpp</label>
<link refid="equilibrium__evaluator_8hpp"/>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="45">
<label>src/include/serif/backend/mfem/model/finite_elements.hpp</label>
<link refid="backend_2mfem_2model_2finite__elements_8hpp"/>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="48" relation="include">
</childnode>
</node>
<node id="29">
<label>src/include/serif/backend/mfem/model/graph.hpp</label>
<link refid="backend_2mfem_2model_2graph_8hpp"/>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
</node>
<node id="38">
<label>src/include/serif/backend/mfem/model/inputs.hpp</label>
<link refid="model_2inputs_8hpp"/>
<childnode refid="39" relation="include">
</childnode>
</node>
<node id="52">
<label>src/include/serif/backend/mfem/model/normalization/computations.hpp</label>
<link refid="backend_2mfem_2model_2normalization_2computations_8hpp"/>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="43">
<label>src/include/serif/backend/mfem/model/state.hpp</label>
<link refid="backend_2mfem_2model_2state_8hpp"/>
<childnode refid="40" relation="include">
</childnode>
</node>
<node id="60">
<label>src/include/serif/backend/mfem/model/volume.hpp</label>
<link refid="volume_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
</node>
<node id="65">
<label>src/include/serif/backend/mfem/model/volume_actions.hpp</label>
<link refid="volume__actions_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="66" relation="include">
</childnode>
</node>
<node id="80">
<label>src/include/serif/backend/mfem/model/volume_displacement.hpp</label>
<link refid="volume__displacement_8hpp"/>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="57">
<label>src/include/serif/backend/mfem/operators/element_evaluation.hpp</label>
<link refid="element__evaluation_8hpp"/>
<childnode refid="58" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
<childnode refid="71" relation="include">
</childnode>
</node>
<node id="73">
<label>src/include/serif/backend/mfem/operators/element_preparation.hpp</label>
<link refid="element__preparation_8hpp"/>
<childnode refid="71" relation="include">
</childnode>
</node>
<node id="58">
<label>src/include/serif/backend/mfem/operators/element_transpose.hpp</label>
<link refid="element__transpose_8hpp"/>
<childnode refid="59" relation="include">
</childnode>
</node>
<node id="74">
<label>src/include/serif/backend/mfem/operators/geometry_derivatives.hpp</label>
<link refid="geometry__derivatives_8hpp"/>
<childnode refid="71" relation="include">
</childnode>
</node>
<node id="68">
<label>src/include/serif/backend/mfem/operators/jacobian_operator.hpp</label>
<link refid="jacobian__operator_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="55">
<label>src/include/serif/backend/mfem/operators/operand_evaluation.hpp</label>
<link refid="operand__evaluation_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
</node>
<node id="76">
<label>src/include/serif/backend/mfem/operators/quadrature.hpp</label>
<link refid="quadrature_8hpp"/>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="77" relation="include">
</childnode>
</node>
<node id="59">
<label>src/include/serif/backend/mfem/operators/volume_application.hpp</label>
<link refid="volume__application_8hpp"/>
<childnode refid="60" relation="include">
</childnode>
<childnode refid="65" relation="include">
</childnode>
<childnode refid="68" relation="include">
</childnode>
<childnode refid="69" relation="include">
</childnode>
</node>
<node id="72">
<label>src/include/serif/backend/mfem/operators/volume_computations.hpp</label>
<link refid="volume__computations_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="66" relation="include">
</childnode>
</node>
<node id="77">
<label>src/include/serif/backend/mfem/operators/volume_data.hpp</label>
<link refid="volume__data_8hpp"/>
<childnode refid="78" relation="include">
</childnode>
<childnode refid="79" relation="include">
</childnode>
<childnode refid="71" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
</node>
<node id="69">
<label>src/include/serif/backend/mfem/operators/volume_field_block.hpp</label>
<link refid="volume__field__block_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="70" relation="include">
</childnode>
</node>
<node id="79">
<label>src/include/serif/backend/mfem/operators/volume_inputs.hpp</label>
<link refid="volume__inputs_8hpp"/>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="80" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
</node>
<node id="71">
<label>src/include/serif/backend/mfem/operators/volume_stages.hpp</label>
<link refid="volume__stages_8hpp"/>
<childnode refid="72" relation="include">
</childnode>
</node>
<node id="14">
<label>src/include/serif/backend/mfem/serialize/configuration.hpp</label>
<link refid="backend_2mfem_2serialize_2configuration_8hpp"/>
</node>
<node id="13">
<label>src/include/serif/backend/mfem/serialize/discretization.hpp</label>
<link refid="serialize_2discretization_8hpp"/>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="16">
<label>src/include/serif/backend/mfem/serialize/options.hpp</label>
<link refid="backend_2mfem_2serialize_2options_8hpp"/>
</node>
<node id="23">
<label>src/include/serif/backend/mfem/serialize/top.hpp</label>
<link refid="backend_2mfem_2serialize_2top_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="37">
<label>src/include/serif/backend/mfem/solver/admissibility/geometry.hpp</label>
<link refid="geometry_8hpp"/>
<childnode refid="32" relation="include">
</childnode>
</node>
<node id="33">
<label>src/include/serif/backend/mfem/solver/equilibrium.hpp</label>
<link refid="backend_2mfem_2solver_2equilibrium_8hpp"/>
<childnode refid="34" relation="include">
</childnode>
</node>
<node id="32">
<label>src/include/serif/backend/mfem/solver/nonlinear/stellar_problem.hpp</label>
<link refid="stellar__problem_8hpp"/>
<childnode refid="33" relation="include">
</childnode>
</node>
<node id="41">
<label>src/include/serif/backend/mfem/solver/seed/state.hpp</label>
<link refid="backend_2mfem_2solver_2seed_2state_8hpp"/>
<childnode refid="42" relation="include">
</childnode>
</node>
<node id="3">
<label>src/include/serif/equations/angular_momentum.hpp</label>
<link refid="angular__momentum_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="20">
<label>src/include/serif/equations/barotropic_density.hpp</label>
<link refid="barotropic__density_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="25">
<label>src/include/serif/equations/barycenter.hpp</label>
<link refid="barycenter_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="26">
<label>src/include/serif/equations/concepts.hpp</label>
<link refid="equations_2concepts_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
<childnode refid="81" relation="include">
</childnode>
</node>
<node id="1">
<label>src/include/serif/equations/contributions.hpp</label>
<link refid="equations_2contributions_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="82" relation="include">
</childnode>
<childnode refid="83" relation="include">
</childnode>
</node>
<node id="10">
<label>src/include/serif/equations/equations.hpp</label>
<link refid="equations_2equations_8hpp"/>
<childnode refid="11" relation="include">
</childnode>
</node>
<node id="82">
<label>src/include/serif/equations/mass_normalization.hpp</label>
<link refid="mass__normalization_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="83">
<label>src/include/serif/equations/primal_gravity.hpp</label>
<link refid="primal__gravity_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
</node>
<node id="27">
<label>src/include/serif/equations/registry.hpp</label>
<link refid="registry_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
</node>
<node id="44">
<label>src/include/serif/model/equilibrium_plan.hpp</label>
<link refid="equilibrium__plan_8hpp"/>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
</node>
<node id="49">
<label>src/include/serif/model/execution_validation.hpp</label>
<link refid="execution__validation_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="46">
<label>src/include/serif/model/finite_elements.hpp</label>
<link refid="model_2finite__elements_8hpp"/>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
</node>
<node id="50">
<label>src/include/serif/model/model.hpp</label>
<link refid="model_2model_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
</node>
<node id="51">
<label>src/include/serif/model/normalization/plan.hpp</label>
<link refid="model_2normalization_2plan_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="28">
<label>src/include/serif/model/plan.hpp</label>
<link refid="model_2plan_8hpp"/>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
<childnode refid="53" relation="include">
</childnode>
</node>
<node id="53">
<label>src/include/serif/model/validation.hpp</label>
<link refid="model_2validation_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
</node>
<node id="54">
<label>src/include/serif/operators/concepts.hpp</label>
<link refid="operators_2concepts_8hpp"/>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
</node>
<node id="81">
<label>src/include/serif/operators/contributions.hpp</label>
<link refid="operators_2contributions_8hpp"/>
<childnode refid="71" relation="include">
</childnode>
</node>
<node id="75">
<label>src/include/serif/operators/plan.hpp</label>
<link refid="operators_2plan_8hpp"/>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="35">
<label>src/include/serif/solver/continuation/equilibrium.hpp</label>
<link refid="solver_2continuation_2equilibrium_8hpp"/>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="34">
<label>src/include/serif/solver/equilibrium.hpp</label>
<link refid="solver_2equilibrium_8hpp"/>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="42">
<label>src/include/serif/solver/seed/state.hpp</label>
<link refid="solver_2seed_2state_8hpp"/>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="36">
<label>src/include/serif/solver/solver.hpp</label>
<link refid="solver_2solver_8hpp"/>
</node>
<node id="11">
<label>src/include/serif/utils/serialize/equations.hpp</label>
<link refid="utils_2serialize_2equations_8hpp"/>
<childnode refid="12" relation="include">
</childnode>
</node>
<node id="12">
<label>src/include/serif/utils/serialize/model.hpp</label>
<link refid="utils_2serialize_2model_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="15">
<label>src/include/serif/utils/serialize/numerics.hpp</label>
<link refid="numerics_8hpp"/>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="18">
<label>src/include/serif/utils/serialize/serialize.hpp</label>
<link refid="serialize_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
</node>
<node id="17">
<label>src/include/serif/utils/serialize/solver.hpp</label>
<link refid="utils_2serialize_2solver_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
</node>
<node id="48">
<label>src/lib/serif/backend/mfem/model/finite_elements.cpp</label>
<link refid="lib_2serif_2backend_2mfem_2model_2finite__elements_8cpp"/>
</node>
<node id="70">
<label>src/lib/serif/backend/mfem/model/system_selection.cpp</label>
<link refid="system__selection_8cpp"/>
</node>
<node id="24">
<label>src/lib/serif/backend/mfem/serialize/top.cpp</label>
<link refid="backend_2mfem_2serialize_2top_8cpp"/>
</node>
</invincdepgraph>
<innerclass refid="structserif_1_1equations_1_1_contribution" prot="public">serif::equations::Contribution</innerclass>
<innerclass refid="structserif_1_1equations_1_1_test_operand_traits" prot="public">serif::equations::TestOperandTraits</innerclass>
<innerclass refid="structserif_1_1equations_1_1_test_operand_traits_3_01_t_00_01std_1_1void__t_3_01typename_01_t_1_1_test_operand_01_4_01_4" prot="public">serif::equations::TestOperandTraits&lt; T, std::void_t&lt; typename T::TestOperand &gt; &gt;</innerclass>
<innerclass refid="structserif_1_1equations_1_1_contribution_support" prot="public">serif::equations::ContributionSupport</innerclass>
<innerclass refid="structserif_1_1equations_1_1_contribution_support_3_01_t_00_01std_1_1void__t_3_01typename_01_t_1_1_support_01_4_01_4" prot="public">serif::equations::ContributionSupport&lt; T, std::void_t&lt; typename T::Support &gt; &gt;</innerclass>
<innerclass refid="structserif_1_1equations_1_1_contributions" prot="public">serif::equations::Contributions</innerclass>
<innerclass refid="structserif_1_1equations_1_1_contribution_tuple" prot="public">serif::equations::ContributionTuple</innerclass>
<innerclass refid="structserif_1_1equations_1_1_contribution_tuple_3_01std_1_1tuple_3_01_ts_8_8_8_01_4_00_01std_1_1e282a2c4b2ce56d3b5a3d2dda19385da" prot="public">serif::equations::ContributionTuple&lt; std::tuple&lt; Ts... &gt;, std::void_t&lt; decltype(std::tuple_cat(std::declval&lt; typename Contributions&lt; std::remove_cvref_t&lt; Ts &gt; &gt;::type &gt;()...))&gt; &gt;</innerclass>
<innerclass refid="structserif_1_1equations_1_1_contributions_3_01_t_00_01std_1_1void__t_3_01decltype_07std_1_1decl671b42e5568b3715d07217eb0f34ce32" prot="public">serif::equations::Contributions&lt; T, std::void_t&lt; decltype(std::declval&lt; const T &amp; &gt;().contributions())&gt; &gt;</innerclass>
<innernamespace refid="namespaceserif">serif</innernamespace>
<innernamespace refid="namespaceserif_1_1equations">serif::equations</innernamespace>
<briefdescription>
<para>File containing the Contribution struct. This is effectively a helper struct for authoring equations with fewer lines of boiler-plate. The idea here is that every equation must report certain members so that the backend can inspect at compile time. An author could certainly write these members themselves, but the Contribution struct auto generates those members based on its template parameters. Therefore, by inheriting from the Contribution struct an equation author can avoid writing those members themselves. Note that while this is inheritance it is still a compile-time relation. Contribution does not add any runtime overhead to the equation. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="author"><para>Emily M. Boudreaux </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="16"><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;tuple&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;type_traits&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;utility&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="discretization_2blocks_2traits_8hpp" kindref="compound">serif/discretization/blocks/traits.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="operands_8hpp" kindref="compound">serif/discretization/forms/operands.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="22"><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1equations" kindref="compound">serif::equations</ref><sp/>{</highlight></codeline>
<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;discretization::forms::IsOperand<sp/>TestOperandT,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>SupportT<sp/>=<sp/>discretization::blocks::SupportOf&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>TestOperandT::term_type&gt;&gt;</highlight></codeline>
<codeline lineno="45" refid="structserif_1_1equations_1_1_contribution" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution" kindref="compound">Contribution</ref><sp/>{</highlight></codeline>
<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_1a6ad0d6daa9f9c3dfb155841cb0a562bc" kindref="member">Test</ref><sp/>=<sp/>TestOperandT::term_type;</highlight></codeline>
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_1aa35e98078c6c8a579a0f702cb710b883" kindref="member">TestOperand</ref><sp/>=<sp/>TestOperandT;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_1abf74d552d7125c10a4b41d60398cfc15" kindref="member">Support</ref><sp/>=<sp/>SupportT;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="67"><highlight class="normal"></highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>=<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">&gt;</highlight></codeline>
<codeline lineno="80" refid="structserif_1_1equations_1_1_test_operand_traits" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_test_operand_traits" kindref="compound">TestOperandTraits</ref><sp/>{</highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_test_operand_traits_1a19876d2f2ff717a0cab5850f320d4708" kindref="member">type</ref><sp/>=<sp/><ref refid="structserif_1_1discretization_1_1forms_1_1_operand" kindref="compound">discretization::forms::Operand&lt;typename T::Test&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="83"><highlight class="normal"></highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T&gt;</highlight></codeline>
<codeline lineno="89" refid="structserif_1_1equations_1_1_test_operand_traits_3_01_t_00_01std_1_1void__t_3_01typename_01_t_1_1_test_operand_01_4_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_test_operand_traits" kindref="compound">TestOperandTraits</ref>&lt;T,<sp/>std::void_t&lt;typename<sp/>T::TestOperand&gt;&gt;<sp/>{</highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_test_operand_traits_3_01_t_00_01std_1_1void__t_3_01typename_01_t_1_1_test_operand_01_4_01_4_1ae128f0d89434e01b68cdc348d7d5f359" kindref="member">type</ref><sp/>=<sp/>T::TestOperand;<sp/></highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="92"><highlight class="normal"></highlight></codeline>
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T&gt;</highlight></codeline>
<codeline lineno="99"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1equations_1ab3b0f61ca51136b0ddf4d868ebdfd8df" kindref="member">TestOperandOf</ref><sp/>=<sp/><ref refid="structserif_1_1equations_1_1_test_operand_traits_1a19876d2f2ff717a0cab5850f320d4708" kindref="member">TestOperandTraits&lt;T&gt;::type</ref>;</highlight></codeline>
<codeline lineno="100"><highlight class="normal"></highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>=<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">&gt;</highlight></codeline>
<codeline lineno="107" refid="structserif_1_1equations_1_1_contribution_support" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_support" kindref="compound">ContributionSupport</ref><sp/>{</highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_support_1a2e00974d873d9139154fd272e15cfb27" kindref="member">type</ref><sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1blocks_1aba18df102a90506f2263dc6395e3f975" kindref="member">discretization::blocks::SupportOf&lt;typename T::Test&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="110"><highlight class="normal"></highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T&gt;</highlight></codeline>
<codeline lineno="116" refid="structserif_1_1equations_1_1_contribution_support_3_01_t_00_01std_1_1void__t_3_01typename_01_t_1_1_support_01_4_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_support" kindref="compound">ContributionSupport</ref>&lt;T,<sp/>std::void_t&lt;typename<sp/>T::Support&gt;&gt;<sp/>{</highlight></codeline>
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_support_3_01_t_00_01std_1_1void__t_3_01typename_01_t_1_1_support_01_4_01_4_1a17880f88abc9d315f02ed1c68d8e49c6" kindref="member">type</ref><sp/>=<sp/>T::Support;<sp/></highlight></codeline>
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="119"><highlight class="normal"></highlight></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T&gt;</highlight></codeline>
<codeline lineno="126"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1equations_1a7e2dbba73c1ee1b682885f1c178eb9f6" kindref="member">SupportOf</ref><sp/>=<sp/><ref refid="structserif_1_1equations_1_1_contribution_support_1a2e00974d873d9139154fd272e15cfb27" kindref="member">ContributionSupport&lt;T&gt;::type</ref>;</highlight></codeline>
<codeline lineno="127"><highlight class="normal"></highlight></codeline>
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>=<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">&gt;</highlight></codeline>
<codeline lineno="134" refid="structserif_1_1equations_1_1_contributions" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contributions" kindref="compound">Contributions</ref><sp/>{</highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contributions_1a81c2e79e3478c29ca2053a9c803cadb6" kindref="member">type</ref><sp/>=<sp/>std::tuple&lt;T&gt;;<sp/></highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="137"><highlight class="normal"></highlight></codeline>
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>TupleT,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>=<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">&gt;</highlight></codeline>
<codeline lineno="143" refid="structserif_1_1equations_1_1_contribution_tuple" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_tuple" kindref="compound">ContributionTuple</ref><sp/>{</highlight></codeline>
<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_tuple_1af04dcafeb750f4f199dfd4cee215e7b3" kindref="member">type</ref><sp/>=<sp/>void;<sp/></highlight></codeline>
<codeline lineno="145"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="146"><highlight class="normal"></highlight></codeline>
<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>Ts&gt;</highlight></codeline>
<codeline lineno="160" refid="structserif_1_1equations_1_1_contribution_tuple_3_01std_1_1tuple_3_01_ts_8_8_8_01_4_00_01std_1_1e282a2c4b2ce56d3b5a3d2dda19385da" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_tuple" kindref="compound">ContributionTuple</ref>&lt;std::tuple&lt;Ts...&gt;,<sp/>std::void_t&lt;decltype(std::tuple_cat(std::declval&lt;typename<sp/>Contributions&lt;std::remove_cvref_t&lt;Ts&gt;&gt;::type&gt;()...))&gt;&gt;<sp/>{</highlight></codeline>
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contribution_tuple_3_01std_1_1tuple_3_01_ts_8_8_8_01_4_00_01std_1_1e282a2c4b2ce56d3b5a3d2dda19385da_1a81da876349f21b269d33e269861e75fa" kindref="member">type</ref><sp/>=<sp/></highlight><highlight class="keyword">decltype</highlight><highlight class="normal">(std::tuple_cat(std::declval&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1equations_1_1_contributions" kindref="compound">Contributions</ref>&lt;std::remove_cvref_t&lt;Ts&gt;&gt;<ref refid="structserif_1_1equations_1_1_contribution_tuple_3_01std_1_1tuple_3_01_ts_8_8_8_01_4_00_01std_1_1e282a2c4b2ce56d3b5a3d2dda19385da_1a81da876349f21b269d33e269861e75fa" kindref="member">::type</ref>&gt;()...));</highlight></codeline>
<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="167"><highlight class="normal"></highlight></codeline>
<codeline lineno="173"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T&gt;</highlight></codeline>
<codeline lineno="174" refid="structserif_1_1equations_1_1_contributions_3_01_t_00_01std_1_1void__t_3_01decltype_07std_1_1decl671b42e5568b3715d07217eb0f34ce32" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1equations_1_1_contributions" kindref="compound">Contributions</ref>&lt;T,<sp/>std::void_t&lt;decltype(std::declval&lt;const<sp/>T&amp;&gt;().contributions())&gt;&gt;<sp/>:</highlight></codeline>
<codeline lineno="175"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structserif_1_1equations_1_1_contribution_tuple" kindref="compound">ContributionTuple</ref>&lt;std::remove_cvref_t&lt;decltype(std::declval&lt;const<sp/>T&amp;&gt;().contributions())&gt;&gt;<sp/>{};</highlight></codeline>
<codeline lineno="176"><highlight class="normal"></highlight></codeline>
<codeline lineno="182"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>T&gt;</highlight></codeline>
<codeline lineno="183"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1equations_1a3d8c1500d535f29fe360f0ab31ac55e3" kindref="member">ContributionsOf</ref><sp/>=<sp/><sp/><ref refid="structserif_1_1equations_1_1_contributions" kindref="compound">Contributions&lt;std::remove_cvref_t&lt;T&gt;</ref>&gt;<ref refid="structserif_1_1equations_1_1_test_operand_traits" kindref="compound">::type</ref>;</highlight></codeline>
<codeline lineno="184"><highlight class="normal">}<sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>serif::equations</highlight><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="src/include/serif/equations/contributions.hpp"/>
</compounddef>
</doxygen>