Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

F TD2000 DOCUMENTS 16 / cpp23 function template argument deduction reference cv pack binding

Derive complete C++ function-template type/non-type argument bindings, deduction failure, forwarding-reference adjustments and pack dimensions from explicit parameter/argument types.. Compare the complete typed result SHA256.

POST https://detect.halowerk.com/v1/F-TD2000-DOCUMENTS-16/cpp23-function-template-argument-deduction-reference-cv-pack-binding

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
artifactobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "artifact"
  ],
  "properties": {
    "artifact": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "cppDeduction"
      ],
      "properties": {
        "cppDeduction": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "data",
            "claim"
          ],
          "properties": {
            "data": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "types",
                "type_parameters",
                "value_parameters",
                "calls"
              ],
              "properties": {
                "types": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "kind",
                          "name",
                          "const",
                          "volatile"
                        ],
                        "properties": {
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "kind": {
                            "const": "builtin"
                          },
                          "name": {
                            "enum": [
                              "bool",
                              "char",
                              "int",
                              "long",
                              "float",
                              "double"
                            ]
                          },
                          "const": {
                            "type": "boolean"
                          },
                          "volatile": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "kind",
                          "name",
                          "const",
                          "volatile"
                        ],
                        "properties": {
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "kind": {
                            "const": "parameter"
                          },
                          "name": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "const": {
                            "type": "boolean"
                          },
                          "volatile": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "kind",
                          "element",
                          "const",
                          "volatile"
                        ],
                        "properties": {
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "kind": {
                            "const": "pointer"
                          },
                          "element": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "const": {
                            "type": "boolean"
                          },
                          "volatile": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "kind",
                          "element"
                        ],
                        "properties": {
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "kind": {
                            "enum": [
                              "lref",
                              "rref"
                            ]
                          },
                          "element": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "kind",
                          "element",
                          "extent"
                        ],
                        "properties": {
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "kind": {
                            "const": "array"
                          },
                          "element": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "extent": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 32
                              },
                              {
                                "$ref": "#/properties/artifact/%24defs/a"
                              }
                            ]
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "kind",
                          "name",
                          "arguments",
                          "const",
                          "volatile"
                        ],
                        "properties": {
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "kind": {
                            "const": "template"
                          },
                          "name": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "arguments": {
                            "type": "array",
                            "items": {
                              "$ref": "#/properties/artifact/%24defs/a"
                            },
                            "maxItems": 8
                          },
                          "const": {
                            "type": "boolean"
                          },
                          "volatile": {
                            "type": "boolean"
                          }
                        }
                      }
                    ]
                  },
                  "minItems": 1,
                  "maxItems": 64
                },
                "type_parameters": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "name",
                      "pack"
                    ],
                    "properties": {
                      "name": {
                        "$ref": "#/properties/artifact/%24defs/a"
                      },
                      "pack": {
                        "type": "boolean"
                      }
                    }
                  },
                  "maxItems": 12
                },
                "value_parameters": {
                  "type": "array",
                  "items": {
                    "$ref": "#/properties/artifact/%24defs/a"
                  },
                  "maxItems": 8
                },
                "calls": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "parameters",
                      "arguments"
                    ],
                    "properties": {
                      "parameters": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "pack"
                          ],
                          "properties": {
                            "type": {
                              "$ref": "#/properties/artifact/%24defs/a"
                            },
                            "pack": {
                              "type": "boolean"
                            }
                          }
                        },
                        "maxItems": 16
                      },
                      "arguments": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "type",
                            "category"
                          ],
                          "properties": {
                            "type": {
                              "$ref": "#/properties/artifact/%24defs/a"
                            },
                            "category": {
                              "enum": [
                                "lvalue",
                                "xvalue",
                                "prvalue"
                              ]
                            }
                          }
                        },
                        "maxItems": 24
                      }
                    }
                  },
                  "minItems": 1,
                  "maxItems": 16
                }
              }
            },
            "claim": {
              "type": [
                "string",
                "null"
              ],
              "minLength": 64,
              "maxLength": 64,
              "pattern": "^[0-9a-f]{64}$"
            }
          }
        }
      },
      "$defs": {
        "a": {
          "type": "string",
          "minLength": 1,
          "maxLength": 48,
          "pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$",
          "not": {
            "type": "string",
            "pattern": "[\\r\\n

]"
          }
        }
      }
    }
  }
}

Originalschema öffnen

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 20:49 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →