TemplateBinding(テンプレートバインディング)

TemplateBinding(テンプレートバインディング

これは、テンプレート化可能要素とテンプレートの関係を表す。

テンプレートバインディングは、テンプレートの仮パラメータを実パラメータへ置き換えることを規定する。

関係は、テンプレート化可能要素から、テンプレートのテンプレートシグニチャに向かう方向を持っている。

テンプレートバインディングは、テンプレートパラメータの置換の集合を所有する。

仕様書ver 図No ページ数 セクションNo ページ数
03-08-02 Fig427 P542 --- ---
翻訳版 図17.16 P762 Sec 17.5.3 P767

属性

なし

関連

parameterSubstitution
TemplateParameterSubstitution[*] 所有されるテンプレートパラメータ置換の集合。
boundElement
TemplateableElement[1] このバインディングによって、バインドされる要素。
signature
TemplateSignature[1] バインディングの目標である、テンプレートのテンプレートシグニチャ

制約

  1. 各パラメータの置換は、ターゲットとするテンプレートシグニチャの仮テンプレートパラメータを参照しなければならない。
  2. バインディングは、ターゲットとするテンプレートシグニチャに対し、1つのパラメータ置換しか持たない。

セマンティクス

テンプレートの内容のコピー
仮テンプレートパラメータに対し、実パラメータを置換することにより、ターゲットとするテンプレートシグニチャを所有するテンプレートの内容が、バインドされる要素にコピーされることを示す。
デフォルト値
バインディング時、仮パラメータに対する実パラメータが指定されなければ、デフォルト値が使われる(もちろん、デフォルト値の指定があればだが)
完全バインディング
テンプレートが持つ仮パラメータすべてを、実パラメータにより置換することで、バインドする。
部分バインディング
テンプレートが持つ仮パラメータの一部を、実パラメータにより置換することで、バインドする。実パラメータで置き換えない仮パラメータは、仮テンプレートパラメータと互換性のある、他のテンプレートによりバインドされる場合、依然として仮パラメータのままである。

記法

キーワード<>を使った、破線の白抜き矢印を、バインドされる要素からテンプレートに向かって書く。