3
私は現在、私の最初のコンセプトを書いています。コンパイラは、-fconceptsを指定してg ++ 7.2を起動します。私の考え方は次のようになります:メンバー変数にコンセプトを適用する方法
template <typename stack_t>
concept bool Stack() {
return requires(stack_t p_stack, size_t p_i) {
{ p_stack[p_i] };
};
};
template <typename environment_t>
concept bool Environment() {
return requires(environment_t p_env) {
{ p_env.stack }
};
};
ご覧のとおり、環境にはスタックという名前のメンバーが必要です。このメンバは、Stackコンセプトに一致する必要があります。このような要件を環境に追加するにはどうすればよいですか?