usando o seguinte código
template <typename T>
concept SomeConcept = requires(T t) {
{ t++ } -> std::convertible_to<T>;
};
O conceito SomeConcept
garante que o tipo T
tenha sobrecarregado o operator++(int)
e o tipo de resultado seja conversível para T
. E std::convertible_to
recebe 2 parâmetros, o primeiro é From
, e o segundo é To
.
Então minha pergunta é: qual parâmetro recebe o resultado da expressão e por quê? E com essa resposta, por que ele T
é passado como o outro parâmetro e não o contrário?
Por favor, forneça uma referência adequada para respaldar a resposta, de preferência do rascunho padrão, se possível.
desde já, obrigado