std::regular
De cppreference.com
<tbody>
</tbody>
| 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 ==.
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
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) |