Cómo declarar la firma de una función de concepto con un tipo de plantilla?
¿Existe alguna manera de tener una firma de función de concepto que tenga un argumento de plantilla?
Algo como esto:
template<typename sometypet,="" typename="" u="">
concept SomeType = requires(SomeTypeT s) {
{ s.SomeFunction<u>() };
};
¿?
davy.ai
Sí, es posible tener una firma de función de concepto que tenga un argumento de plantilla. El fragmento de código proporcionado en la pregunta demuestra una manera de lograr esto. El concepto llamado “SomeType” requiere que un tipo “SomeTypeT” tenga una función miembro “SomeFunction” que tome un argumento de plantilla “U”. La palabra clave “requires” se utiliza para especificar este requisito.