Tag: C++-CONCEPTS
¿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>() }; }; ¿?
¿Cómo se restringen los tipos permitidos en las plantillas variádicas y la expresión de repliegue utilizando los conceptos de C++20? Por ejemplo, supongamos que me gustaría restringir la siguiente expresión de repliegue para que solo admita tipos enteros, ¿cómo haría eso? include & lt; string & gt; include & lt; . . . Read more
Estoy aprendiendo conceptos de C++. Ahora puedo escribir un concepto que requiere la presencia de una función que devuelve algo que satisface otro concepto, pero hasta ahora solo por valor (en la función getB()). La función getC() da un error porque: because ‘decltype(t.getC())’ (también conocido como ‘const float&&’) no satisface . . . Read more
Tengo un problema con los conceptos que utilizan ADL. edit 1: Menciono ADL ya que se supone que las funciones “parse” deben estar sobrecargadas con tipos definidos por el usuario. El concepto “from_string_view_parsable” no ve las funciones “parse” a continuación, ya que ADL no se aplica a ellas. Las funciones . . . Read more
En respuesta a mi pregunta anterior, aprendí que los conceptos de C++ 20 no permiten la sobrecarga en los argumentos de plantilla struct, por ejemplo, esto no funciona: #include <concepts> template <std::integral> struct S{ }; template <std::floating_point> struct S{ }; Para un error de clang curioso, es algo así, pero . . . Read more