Preguntas etiquetadas con c++-concepts

5
¿Por qué requerimos requiere requiere?
Una de las esquinas de los conceptos de C ++ 20 es que hay ciertas situaciones en las que tienes que escribir requires requires. Por ejemplo, este ejemplo de [expr.prim.req] / 3 : Una expresión require también se puede usar en una cláusula require ([temp]) como una forma de escribir …
161 c++  c++-concepts  c++20 


3
Conceptos de C ++ 20: ¿Qué especialización de plantilla se elige cuando el argumento de plantilla califica para múltiples conceptos?
Dado: #include <concepts> #include <iostream> template<class T> struct wrapper; template<std::signed_integral T> struct wrapper<T> { wrapper() = default; void print() { std::cout << "signed_integral" << std::endl; } }; template<std::integral T> struct wrapper<T> { wrapper() = default; void print() { std::cout << "integral" << std::endl; } }; int main() { wrapper<int> w; …

1
¿Igualdad_comparable_con` necesita requerir `common_reference`?
El conceptoequality_­comparable_with<T, U> tiene la intención de declarar que los objetos de tipo Ty Use pueden comparar iguales entre sí, y si lo son, entonces esto tiene el significado esperado. Esta bien. Sin embargo, este concepto también requiere common_reference_t<T&, U&>existir. El ímpetu principal common_referencey la funcionalidad que lo acompaña parecen …



2
¿Cómo implementar la forma generalizada de std :: same_as (es decir, para más de dos parámetros de tipo) que es independiente del orden de los parámetros?
Antecedentes Sabemos que el concepto std::same_ases agnóstico al orden (en otras palabras, simétrico): std::same_as<T, U>es equivalente a std::same_as<U, T>( pregunta relacionada ). En esta pregunta, me gustaría implementar algo más general: template <typename ... Types> concept same_are = ...que verifique si los tipos en el paquete Typesson iguales entre sí. …
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.