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

Recognize a self-describing prescription without demanding executable physics or optional metadata. More...

#include <specification.hpp>

Concept definition

template<typename Candidate>
{
typename std::remove_cvref_t<Candidate>::ModelDefinition;
requires std::same_as<typename std::remove_cvref_t<Candidate>::ModelDefinition::SpecificationType, std::remove_cvref_t<Candidate>>;
{ std::remove_cvref_t<Candidate>::ModelDefinition::name } -> std::convertible_to<std::string_view>;
requires (!std::remove_cvref_t<Candidate>::ModelDefinition::name.empty());
requires detail::compatible_generated_state(std::remove_cvref_t<Candidate>::ModelDefinition::role, std::remove_cvref_t<Candidate>::ModelDefinition::generated_state_kind);
}
Recognize a self-describing prescription without demanding executable physics or optional metadata.
Definition specification.hpp:91
constexpr bool is_type_list
Definition specification.hpp:83
consteval bool compatible_generated_state(SpecificationRole role, GeneratedStateKind kind)
Reject unknown enums and mismatched physical roles before inspecting optional scalar metadata.
Definition specification.hpp:65

Detailed Description

Recognize a self-describing prescription without demanding executable physics or optional metadata.