Espacios de nombres
Variantes
Acciones

std::semiregular

De cppreference.com
< cpp‎ | concepts
Definido en el archivo de encabezado <concepts>
template <class T>
concept semiregular = std::copyable<T> && std::default_initializable<T>;
(desde C++20)

El concepto semiregular especifica que un tipo es tanto copiable como construible por defecto. Se satisface por tipos que se comportan de manera similar a los tipos integrados como int, excepto que no necesitan soportar comparación con ==.

[editar] Ejemplo

#include <concepts>
#include <iostream>
 
template<std::semiregular T>
struct Sencillo {
    T valor;
};
 
int main()
{
    Sencillo<int> miEntero1{4};
    Sencillo<int> miEntero2;
    miEntero2 = miEntero1;
 
    std::cout << miEntero1.valor << ' ' << miEntero2.valor << '\n';
}

Salida:

4 4

[editar] Véase también

(C++20)
Especifica que un tipo es regular. Es decir, es tanto semiregular como comparable en igualdad (equality_comparable).
(concepto) [editar]