Requerimientos denominados
De cppreference.com
< cpp
Los requerimientos denominados listados en esta página son los requerimientos usados en el texto normativo del estándar de C++ para definir las expectativas de la biblioteca estándar.
Algunos de estos requerimientos se están formalizando en C++20 usando la característica del lenguaje de conceptos. Hasta entonces, la carga la tiene el programador para garantizar que las plantillas de la biblioteca son creadas con argumentos de plantilla que satisfacen estos requerimientos. No hacerlo así puede resultar en diagnósticos del compilador muy complejos.
Básicos | ||
| Especifica que un objeto del tipo puede ser construido por defecto (requerimiento denominado) | ||
| (C++11) |
Especifica que un objeto del tipo puede ser construido desde un rvalue. (requerimiento denominado) | |
| Especifica que un objeto del tipo puede ser construido desde un lvalue. (requerimiento denominado) | ||
| (C++11) |
Especifica que un objeto del tipo puede ser asignado desde un rvalue. (requerimiento denominado) | |
| Especifica que un objeto del tipo puede ser asignado desde un lvalue. (requerimiento denominado) | ||
| Especifica que un objeto del tipo puede ser destruido. (requerimiento denominado) | ||
Propiedades de tipos | ||
| Nota: el estándar no define requerimientos denominados con los nombres especificados en esta subcategoría. Estas son categorías de tipo definidas por el lenguaje central. Se incluyen aquí como requerimientos denominados solamente por consistencia. | ||
| (C++11) |
Clase con copia, asignación y destructor triviales. (requerimiento denominado) | |
| (C++11) |
Clase con constructores triviales, asignación y destructor. (requerimiento denominado) | |
| (C++11) |
Clase no virtual que contiene solamente miembros que se conforman con StandardLayout, todos con el mismo control de acceso. (requerimiento denominado) | |
| Estructura POD (Plain Old Data), compatible con una estructura (struct) de C. (requerimiento denominado) | ||
A lo largo de la biblioteca | ||
El operator== es una relación de equivalencia. (requerimiento denominado) | ||
El operator< es una relación estricta de ordenamiento débil. (requerimiento denominado) | ||
| (C++11) |
Puede intercambiarse con una llamada de función no miembro, no calificada, a swap(). (requerimiento denominado) | |
| (C++11) |
Un LegacyIterator que se desreferencia a un tipo Swappable. (requerimiento denominado) | |
| (C++11) |
Un tipo similar a un puntero que soporta un valor nulo. (requerimiento denominado) | |
| (C++11) |
Un FunctionObject que para entradas con diferentes valores tiene una baja probabilidad de producir la misma salida. (requerimiento denominado) | |
| Un tipo clase que contiene información de asignación. (requerimiento denominado) | ||
| Un objecto que puede ser llamado con la sintaxis de llamada de función. (requerimiento denominado) | ||
| Un tipo para el que la operación invoke está definida. (requerimiento denominado) | ||
| Un FunctionObject que devuelve un valor convertible a bool para un argumento, sin modificarlo. (requerimiento denominado) | ||
| Un FunctionObject que devuelve un valor convertible a bool para dos argumentos, sin modificarlos. (requerimiento denominado) | ||
| Un BinaryPredicate que establece una relación de ordenamiento. (requerimiento denominado) | ||
Contenedores | |
| Estructura de datos que permite acceso a los elementos usando iteradores. (requerimiento denominado) | |
| Contenedor que usa iteradores bidireccionales. (requerimiento denominado) | |
| (C++11) |
Contenedor que usa un asignador de memoria. (requerimiento denominado) |
| Contenedor con elementos almacenados linealmente. (requerimiento denominado) | |
| (C++17) |
Contenedor con elementos almacenados en direcciones de memoria adyacentes. (requerimiento denominado) |
| Contenedor que almacena los elementos asociándolos con claves. (requerimiento denominado) | |
| Contenedor con elementos almacenados en asociándolos con claves. (requerimiento denominado) | |
Elementos de contenedores | |
| (C++11) |
Elemento que puede ser construido por defecto en almacenamiento no inicializado. (requerimiento denominado) |
| (C++11) |
Elemento que puede ser construido por copia en almacenamiento no inicializado. (requerimiento denominado) |
| (C++11) |
Elemento que puede ser construido por constructor de movimiento en almacenamiento no inicializado. (requerimiento denominado) |
| (C++11) |
Elemento que puede ser construido en almacenamiento no inicializado (requerimiento denominado) |
| (C++11) |
Elemento que puede ser destruido utilizando un asignador de memoria (requerimiento denominado) |
Iteradores | |
| Concepto general para acceder a datos dentro de alguna estructura de datos. (requerimiento denominado) | |
| Iterador que puede ser usado para leer datos. (requerimiento denominado) | |
| Iterador que puede ser usado para escribir datos. (requerimiento denominado) | |
| Iterador que puede ser usado para leer datos múltiples veces. (requerimiento denominado) | |
| Iterador que puede ser incrementado y decrementado. (requerimiento denominado) | |
| Iterador que puede ser avanzado en tiempo constante. (requerimiento denominado) | |
| (C++17) |
Iterador con elementos asignados contiguamente. (requerimiento denominado) |
| (C++20) |
Iterador que puede ser usado durante una evaluación de una expresión constante. (requerimiento denominado) |
Funciones de E/S de flujos | |
| Una función de flujo de entrada que no se salta espacios en blanco enfrente y cuenta los caracteres procesados. (requerimiento denominado) | |
| Una función de flujo de entrada que se salta espacios en blanco enfrente. (requerimiento denominado) | |
| Una función básica de flujo de salida. (requerimiento denominado) | |
Una función de flujo de salida que establece la bandera failbit durante errores y devuelve una referencia al flujo. (requerimiento denominado) | |
Generación de números aleatorios | |
| (C++11) |
Consume una secuencia de enteros y produce una secuencia de valores de 32 bits sin signo. (requerimiento denominado) |
| (C++11) |
Devuelve enteros sin signo aleatorios distribuidos uniformemente. (requerimiento denominado) |
| (C++11) |
Un UniformRandomBitGenerator determinístico, definido por la semilla. (requerimiento denominado) |
| (C++11) |
Un RandomNumberEngine que transforma la salida de otro RandomNumberEngine. (requerimiento denominado) |
| (C++11) |
Devuelve números aleatorios distribuidos de acuerdo a la función matemática de densidad de probabilidad. (requerimiento denominado) |
Concurrencia | |
| (C++11) |
Provee semántica de propiedad exclusiva para ejecución de agentes (p. ej., hilos). (requerimiento denominado) |
| (C++11) |
Un BasicLockable que soporta el intento de adquisición del cerrojo. (requerimiento denominado) |
| (C++11) |
Un Lockable que soporta la adquisición temporizada del cerrojo. (requerimiento denominado) |
| (C++11) |
Un Lockable que protege contra carreras de datos y sincronización secuencialmente consistente. (requerimiento denominado) |
| (C++11) |
Un TimedLockable que protege contra carreras de datos y sincronización secuencialmente consistente (requerimiento denominado) |
| (C++17) |
Un Mutex que soporta la semántica de propiedad compartida. (requerimiento denominado) |
| (C++14) |
Un TimedMutex que soporta la semántica de propiedad compartida. (requerimiento denominado) |
Otros | |
| (C++11) |
Describe una propiedad de un tipo. (requerimiento denominado) |
| (C++11) |
Describe una relación entre dos tipos. (requerimiento denominado) |
| (C++11) |
Modifica una propiedad de un tipo. (requerimiento denominado) |
| (C++11) |
Agrega una duración, un punto de tiempo, y una función para obtener el punto de tiempo actual. (requerimiento denominado) |
| (C++11) |
Un Clock que no lanza excepciones. (requerimiento denominado) |
| Define tipos y funciones para un tipo carácter. (requerimiento denominado) | |
| Conjunto de bits, entero o enumeración (requerimiento denominado) | |
| Un tipo para el que la inicialización es efectivamente igual a la asignación. (requerimiento denominado) | |
| (C++11) |
Define tipos y funciones usados por la biblioteca de expresiones regulares. (requerimiento denominado) |
| (C++11) |
Un tipo con un constructor constexpr. (requerimiento denominado) |
| (C++20) |
Define funciones usadas por la biblioteca de formato. (requerimiento denominado) |
| Esta sección está incompleta Razón: Cualquier otro requerimiento que falte |

