query.hpp format string serif/discretization/quadrature/rules.hpp serif/discretization/domain/physical_domains.hpp serif/discretization/forms/form_traits.hpp serif/discretization/forms/runtime.hpp src/include/serif/backend/mfem/discretization/quadrature/mfem_resolver.hpp src/include/serif/discretization/quadrature/policy.hpp serif::discretization::quadrature::Query std::formatter< serif::discretization::quadrature::Query > serif serif::discretization serif::discretization::quadrature File containing the Query struct. This struct is used to represent a quadrature query, which contains all the information needed to determine the appropriate order and other relevant information for the integration rule. Emily M. Boudreaux #pragmaonce #include<format> #include<string> #include"serif/discretization/quadrature/rules.hpp" #include"serif/discretization/domain/physical_domains.hpp" #include"serif/discretization/forms/form_traits.hpp" #include"serif/discretization/forms/runtime.hpp" namespaceserif::discretization::quadrature{ structQueryfinal{ forms::FormDescriptorform; QuadratureRolerole=QuadratureRole::discretization; domain::DomainOrSetdomain=domain::AllDomains{}; MappingKindmapping=MappingKind::none; inttrial_order=0; inttest_order=0; intcoefficient_order=0; intgeometry_weight_order=0; inttrial_order_reduction=0; inttest_order_reduction=0; std::optional<int>base_order; }; template<forms::FormFormT> [[nodiscard]]constexprQuerymake_query( constQuadratureRolerole, constdomain::DomainOrSetdomain, constMappingKindmapping, constinttrialOrder, constinttestOrder, constintcoefficientOrder, constintgeometryWeightOrder, conststd::optional<int>baseOrder=std::nullopt )noexcept{ returnQuery{ .form=forms::form_descriptor<FormT>, .role=role, .domain=domain, .mapping=mapping, .trial_order=trialOrder, .test_order=testOrder, .coefficient_order=coefficientOrder, .geometry_weight_order=geometryWeightOrder, .trial_order_reduction=forms::FormTraits<FormT>::trial_order_reduction, .test_order_reduction=forms::FormTraits<FormT>::test_order_reduction, .base_order=baseOrder }; } } template<> structstd::formatter<serif::discretization::quadrature::Query>:std::formatter<std::string>{ template<typenameFormatContext> autoformat(constserif::discretization::quadrature::Query&q,FormatContext&ctx)const{ returnstd::formatter<std::string>::format(std::format("Query(form={},role={},domain={},mapping={},trial_order={},test_order={},coefficient_order={},geometry_weight_order={},trial_order_reduction={},test_order_reduction={},base_order={})", q.form, q.role, q.domain, q.mapping, q.trial_order, q.test_order, q.coefficient_order, q.geometry_weight_order, q.trial_order_reduction, q.test_order_reduction, (q.base_order.has_value()?std::to_string(q.base_order.value()):"nullopt") ),ctx); } };