C++標準でテンプレート宣言の属性を設定できますか?たとえば:属性をテンプレートに適用できますか?
[[attr1]] template <typename T [[attr2]] > [[attr3]]
class [[attr4]] C {};
私はattr4
は、テンプレートのインスタンス(すなわち、それは例えば、T<int>
とT<char>
の属性になります)の有効な属性と考えられるであろうと信じています。
ただし、コンパイラはattr1
またはattr3
のいずれかを無視しても問題ありませんか?
attr2
も有効ですか?私はそうではないと思うが、私は確信していない。この問題は、インスタンス化で使用される特定の型に属性を「追加」する場合に発生しますが、IIRCの現在のテンプレートパラメータではすべての属性が無視されます。
attr1
および/またはattr3
に興味がありますが、テンプレートの特定の属性によって、指定されたタイプのセットで自動的にクラスのインスタンス化が強制的に行われるカスタムテスト用DSLです。