std::regular
De cppreference.com
Definido en el archivo de encabezado <concepts>
|
||
template <class T> concept regular = std::semiregular<T> && std::equality_comparable<T>; |
(desde C++20) | |
El concepto regular
especifica que un tipo es regular, es decir, es copiable, construible por defecto y comparable en igualdad. Se satisface con tipos que se comportan de manera similar a los tipos integrados como int, y que son comparables con ==
.
[editar] Ejemplo
Ejecuta este código
#include <concepts> #include <iostream> template<std::semiregular T> struct Sencillo { T valor; friend bool operator==(const Single&, const Single&) = default; }; int main() { Sencillo<int> miEntero1{4}; Sencillo<int> miEntero2; miEntero2 = miEntero1; if (myInt1 == myInt2) std::cout << "Iguales\n"; std::cout << miEntero1.valor << ' ' << miEntero2.valor << '\n'; }
Salida:
Iguales 4 4
[editar] Véase también
(C++20) |
Especifca que un objeto de un tipo puede ser copiado, movido, intercambiado y construido usando el constructor por defecto. (concepto) |