35 lines
1.4 KiB
Groff
35 lines
1.4 KiB
Groff
|
|
.TH "serif::model::ModelSpecification" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
||
|
|
.ad l
|
||
|
|
.nh
|
||
|
|
.SH NAME
|
||
|
|
serif::model::ModelSpecification \- Recognize a self-describing prescription without demanding executable physics or optional metadata\&.
|
||
|
|
|
||
|
|
.SH SYNOPSIS
|
||
|
|
.br
|
||
|
|
.PP
|
||
|
|
.PP
|
||
|
|
\fR#include <specification\&.hpp>\fP
|
||
|
|
.SH "Concept definition"
|
||
|
|
.PP
|
||
|
|
|
||
|
|
.nf
|
||
|
|
template<typename Candidate>
|
||
|
|
concept serif::model::ModelSpecification = requires
|
||
|
|
{
|
||
|
|
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);
|
||
|
|
requires detail::is_type_list<typename std::remove_cvref_t<Candidate>::ModelDefinition::DependsOn>;
|
||
|
|
requires detail::is_type_list<typename std::remove_cvref_t<Candidate>::ModelDefinition::Affects>;
|
||
|
|
}
|
||
|
|
.PP
|
||
|
|
.fi
|
||
|
|
.SH "Detailed Description"
|
||
|
|
.PP
|
||
|
|
Recognize a self-describing prescription without demanding executable physics or optional metadata\&.
|
||
|
|
.SH "Author"
|
||
|
|
.PP
|
||
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|