SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::model::DimensionalScalarSpecification Concept Reference

Require exact dimensional agreement only when scalar numerical metadata is needed. More...

#include <specification.hpp>

Concept definition

template<typename Candidate>
concept serif::model::DimensionalScalarSpecification = ModelSpecification<Candidate> && requires(const std::remove_cvref_t<Candidate>& specification)
{
requires (std::remove_cvref_t<Candidate>::ModelDefinition::generated_state_kind != GeneratedStateKind::none);
typename std::remove_cvref_t<Candidate>::ModelDefinition::ScalarDescription::TargetQuantity;
typename std::remove_cvref_t<Candidate>::ModelDefinition::ScalarDescription::CoordinateQuantity;
typename std::remove_cvref_t<Candidate>::ModelDefinition::ScalarDescription::ResidualQuantity;
{ specification.target() } -> std::same_as<dimensions::QuantityValue<typename std::remove_cvref_t<Candidate>::ModelDefinition::ScalarDescription::TargetQuantity>>;
}
Is compile-time true of the QuantityCandidate can have any const / volatile stripped and if its deriv...
Definition quantities.hpp:50
Require exact dimensional agreement only when scalar numerical metadata is needed.
Definition specification.hpp:104
Recognize a self-describing prescription without demanding executable physics or optional metadata.
Definition specification.hpp:91
@ none
Definition specification.hpp:24

Detailed Description

Require exact dimensional agreement only when scalar numerical metadata is needed.