Skip to content

Missing index entries for definitions of the terms "satisfies" and "models" #3523

Open
@Quuxplusone

Description

@Quuxplusone

The draft repeatedly uses the terms of art "satisfies/satisfy" and "models/model" without pointing to their definitions, which would be fine, except that these terms of art also do not appear in the Index!

It's hard to search for "model" in the full text because of "memory model" and "object model", but I have at least tracked it down to a non-normative example http://eel.is/c++draft/concepts.equality#8

T fails to meet the implicit requirements of C, so T satisfies but does not model C. Since implementations are not required to validate the syntax of implicit requirements, it is unspecified whether an implementation diagnoses as ill-formed a program that requires C<T>.

http://eel.is/c++draft/temp.constr.atomic#3 seems to provide a normative definition for satisfy.

To determine if an atomic constraint is satisfied, the parameter mapping and template arguments are first substituted into its expression. If substitution results in an invalid type or expression, the constraint is not satisfied. Otherwise, the lvalue-to-rvalue conversion is performed if necessary, and E shall be a constant expression of type bool. The constraint is satisfied if and only if evaluation of E results in true.

I have not discovered the normative definition for model.

Metadata

Metadata

Assignees

Labels

lwgIssue must be reviewed by LWG.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions