Espacios de nombres
Variantes
Acciones

Requerimientos nombrados

De cppreference.com
< cpp
 
 
Requerimientos denominados de C++
Básicos
Diseño
A lo largo de la biblioteca
Contenedores
Elementos de contenedores
Iteradores
Flujo de E/S
Números aleatorios
Concurrencia
(C++11)

(C++11)
(C++11)
Otros
 

Los requerimientos nombrados 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.

Contenido

Básicos

Especifica que un objeto del tipo puede ser construido por defecto
(nombre requerido)
Especifica que un objeto del tipo puede ser construido desde un rvalue.
(nombre requerido)
Especifica que un objeto del tipo puede ser construido desde un lvalue.
(nombre requerido)
Especifica que un objeto del tipo puede ser asignado desde un rvalue.
(nombre requerido)
Especifica que un objeto del tipo puede ser asignado desde un lvalue.
(nombre requerido)
Especifica que un objeto del tipo puede ser destruido.
(nombre requerido)

Diseño

Nota: el estándar no define requerimientos nombrados con los nombres especificados en esta subcategoría.
Estas son categorías de tipo definidas por el lenguaje central. Se incluyen aquí como requerimientos nombrados solamente por consistencia.
Clase con copia, asignación y destructor triviales.
(nombre requerido)
Clase con constructores triviales, asignación y destructor.
(nombre requerido)
Clase no virtual que contiene solamente miembros que se conforman con StandardLayout, todos con el mismo control de acceso.
(nombre requerido)
Estructura POD (Plain Old Data), compatible con una estructura (struct) de C.
(nombre requerido)

A lo largo de la biblioteca

El operator== es una relación de equivalencia.
(nombre requerido)
El operator< es una relación estricta de ordenamiento débil.
(nombre requerido)
(C++11)
Puede intercambiarse con una llamada de función no miembro, no calificada, a swap().
(nombre requerido)
Un LegacyIterator que se desreferencia a un tipo Swappable.
(nombre requerido)
Un tipo similar a un puntero que soporta un valor nulo.
(nombre requerido)
(C++11)
Un FunctionObject que para entradas con diferentes valores tiene una baja probabilidad de producir la misma salida.
(nombre requerido)
Un tipo de clase que contiene información de asignación.
(nombre requerido)
Un objecto que puede ser llamado con la sintaxis de llamada de función.
(nombre requerido)
Un tipo para el que la operación invoke está definida.
(nombre requerido)
Un FunctionObject que devuelve un valor convertible a bool para un argumento, sin modificarlo.
(nombre requerido)
Un FunctionObject que devuelve un valor convertible a bool para dos argumentos, sin modificarlos.
(nombre requerido)
Un BinaryPredicate que establece una relación de ordenamiento.
(nombre requerido)

Contenedores

Estructura de datos que permite acceso a los elementos usando iteradores.
(nombre requerido)
Contenedor que usa iteradores bidireccionales.
(nombre requerido)
Contenedor que usa un asignador de memoria.
(nombre requerido)
Contenedor con elementos almacenados linealmente.
(nombre requerido)
Contenedor con elementos almacenados en direcciones de memoria adyacentes.
(nombre requerido)
Contenedor que almacena los elementos asociándolos con claves.
(nombre requerido)
Contenedor con elementos almacenados en asociándolos con claves.
(nombre requerido)
Elementos de contenedores
Elemento que puede ser construido por defecto en almacenamiento no inicializado.
(nombre requerido)
Elemento que puede ser construido por copia en almacenamiento no inicializado.
(nombre requerido)
Elemento que puede ser construido por constructor de movimiento en almacenamiento no inicializado.
(nombre requerido)
Elemento que puede ser construido en almacenamiento no inicializado
(nombre requerido)
(C++11)
Elemento que puede ser destruido utilizando un asignador de memoria
(nombre requerido)

Iteradores

Concepto general para acceder a datos dentro de alguna estructura de datos.
(nombre requerido)
Iterador que puede ser usado para leer datos.
(nombre requerido)
Iterador que puede ser usado para escribir datos.
(nombre requerido)
Iterador que puede ser usado para leer datos múltiples veces.
(nombre requerido)
Iterador que puede ser incrementado y decrementado.
(nombre requerido)
Iterador que puede ser avanzado en tiempo constante.
(nombre requerido)
Iterador con elementos asignados contiguamente.
(nombre requerido)
Iterador que puede ser usado durante una evaluación de una expresión constante.
(nombre requerido)

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.
(nombre requerido)
Una función de flujo de entrada que se salta espacios en blanco enfrente.
(nombre requerido)
Una función básica de flujo de salida.
(nombre requerido)
Una función de flujo de salida que establece la bandera failbit durante errores y devuelve una referencia al flujo.
(nombre requerido)

Generación de números aleatorios

Consume una secuencia de enteros y produce una secuencia de valores de 32 bits sin signo.
(nombre requerido)
Devuelve enteros sin signo aleatorios distribuidos uniformemente.
(nombre requerido)
Un UniformRandomBitGenerator determinístico, definido por la semilla.
(nombre requerido)
Un RandomNumberEngine que transforma la salida de otro RandomNumberEngine.
(nombre requerido)
Devuelve números aleatorios distribuidos de acuerdo a la función matemática de densidad de probabilidad.
(nombre requerido)

Concurrencia

Provee semántica de propiedad exclusiva para ejecución de agentes (p. ej., hilos).
(nombre requerido)
(C++11)
Un BasicLockable que soporta el intento de adquisición del cerrojo.
(nombre requerido)
Un Lockable que soporta la adquisición temporizada del cerrojo.
(nombre requerido)
(C++11)
Un Lockable que protege contra carreras de datos y sincronización secuencialmente consistente.
(nombre requerido)
Un TimedLockable que protege contra carreras de datos y sincronización secuencialmente consistente
(nombre requerido)
Un Mutex que soporta la semántica de propiedad compartida.
(nombre requerido)
Un TimedMutex que soporta la semántica de propiedad compartida.
(nombre requerido)

Otros

Describe una propiedad de un tipo.
(nombre requerido)
Describe una relación entre dos tipos.
(nombre requerido)
Modifica una propiedad de un tipo.
(nombre requerido)
(C++11)
Agrega una duración, un punto de tiempo, y una función para obtener el punto de tiempo actual.
(nombre requerido)
Un Clock que no lanza excepciones.
(nombre requerido)
Define tipos y funciones para un tipo de carácter.
(nombre requerido)
Conjunto de bits, entero o enumeración
(nombre requerido)
Un tipo para el que la inicialización es efectivamente igual a la asignación.
(nombre requerido)
Define tipos y funciones usados por la biblioteca de expresiones regulares.
(nombre requerido)
Un tipo con un constructor constexpr.
(nombre requerido)