close
The Wayback Machine - https://web.archive.org/web/20221222104708/https://es.cppreference.com/w/cpp/concepts
Espacios de nombres
Variantes
Acciones

Biblioteca de conceptos (C++20)

De cppreference.com
< cpp

La biblioteca de conceptos proporciona definiciones de conceptos fundamentales de la biblioteca que pueden ser usados para realizar validación en tiempo de compilación de argumentos de plantilla y realizar despacho de funciones basado en las propiedades de los tipos. Estos conceptos proporcionan un cimiento para razonamiento en programas.

La mayoría de los conceptos en la biblioteca estándar imponen requerimientos tanto sintácticos como semánticos. En general, solamente los requerimientos sintácticos pueden ser comprobados por el compilador. Si un requerimiento semántico no se satisface en el punto de su uso, el programa está mal formado y no se requiere diagnóstico.

Definido en el archivo de encabezado <concepts>
Definido en el espacio de nombres std

Contenido

Conceptos del lenguaje principales
(C++20)
Especifica que un tipo es el mismo que otro tipo.
(concepto) [editar]
Especifica que un tipo se deriva de otro tipo.
(concepto) [editar]
Especifica que un tipo es implícitamente convertible a otro tipo.
(concepto) [editar]
Especifica que dos tipos comparte un tipo de referencia común.
(concepto) [editar]
Especifica que dos tipos comparten un tipo común.
(concepto) [editar]
(C++20)
Especifica que un tipo es un tipo entero.
(concepto) [editar]
Especifica que un tipo es un tipo entero con signo.
(concepto) [editar]
Especifica que un tipo es un tipo entero que no tiene signo.
(concepto) [editar]
Especifica que un tipo es un tipo de punto flotante.
(concepto) [editar]
Especifica que un tipo es asignable desde otro tipo.
(concepto) [editar]
Especifica que un tipo puede ser intercambiado o que dos tipos pueden ser intercambiados uno con el otro.
(concepto) [editar]
Especifica que un objeto del tipo puede ser destruido.
(concepto) [editar]
Especifica que una variable del tipo puede ser construida desde un conjunto de argumentos o vinculada a un conjunto de argumentos.
(concepto) [editar]
Especifica que un objeto de un tipo puede ser construido por defecto.
(concepto) [editar]
Especifica que el objeto de un tipo puede construirse usando el constructor de movimiento.
(concepto) [editar]
Especifica que un objeto de un tipo puede construirse con el constructor de copia y el constructor de movimiento.
(concepto) [editar]
Conceptos de comparación
Especifica que un tipo puede usarse en contextos Booleanos
(concepto de solo exposición) [editar]
Especifica que el operador == es una relación de equivalencia.
(concepto) [editar]
Especifica que los operadores de comparación sobre el tipo producen un orden total.
(concepto) [editar]
Conceptos de objetos
(C++20)
Especifica que un objeto de un tipo puede ser movido e intercambiado.
(concepto) [editar]
(C++20)
Especifica que un objeto de un tipo puede ser copiado, movido, e intercambiado.
(concepto) [editar]
Especifca que un objeto de un tipo puede ser copiado, movido, intercambiado y construido usando el constructor por defecto.
(concepto) [editar]
(C++20)
Especifica que un tipo es regular. Es decir, es tanto semiregular como comparable en igualdad (equality_comparable).
(concepto) [editar]
Conceptos invocables
Especifica que un tipo invocable puede invocarse con un conjunto dado de tipos de argumento.
(concepto) [editar]
(C++20)
Especifica que un tipo invocable es un predicado Booleano.
(concepto) [editar]
(C++20)
Especifica que un tipo invocable es una relación binaria.
(concepto) [editar]
Especifica que una relación (relation) impone una relación de equivalencia.
(concepto) [editar]
Especifica que una relación (relation) impone un ordenamiento estricto débil.
(concepto) [editar]

Pueden encontrarse conceptos adicionales en la biblioteca de algoritmos y la biblioteca de rangos.