X Tutup
The Wayback Machine - https://web.archive.org/web/20210118020048/https://es.cppreference.com/w/cpp/utility
Espacios de nombres
Variantes
Acciones

Biblioteca de utilerías

De cppreference.com
< cpp
 
 
 

C++ incluye una variedad de bibliotecas de utilerías que proporcionan funcionalidad que va desde el conteo de bits hasta la aplicación de una función parcial. Estas bibliotecas se pueden dividir en dos grupos:

  • bibliotecas de soporte del lenguage;
  • bibliotecas de propósito general.

Contenido

[editar] Soporte del lenguaje

Las bibliotecas de soporte del lenguaje ofrecen clases y funciones que interactúan estrechamente con las características del lenguaje y modismos comunes.

[editar] Soporte de tipos

Tipos básicos (p. ej., std::size_t std::nullptr_t), RTTI (p. ej. std::type_info), rasgos de tipo (p. ej. std::is_integral, std::rank)

[editar] Propiedades de la implementación

El archivo de encabezado <version> proporciona información dependiente de la implementación sobre la biblioteca estándar de C++ (tales como el número de versión y la fecha de lanzamiento). También define la biblioteca de macros de prueba de características.

(desde C++20)

[editar] Utilerías de programas

De terminación (p. ej., std::abort std::atexit), entorno (p. ej. std::system), señales (p. ej. std::raise).

[editar] Gestión de memoria dinámica

Punteros inteligentes (p. ej., std::shared_ptr), asignadores de memoria (p. ej., std::allocator o std::pmr::memory_resource), gestión de memoria estilo C (p. ej., std::malloc).

[editar] Acceso a objetos

Definido en el archivo de encabezado <new>
(C++17)
Barrera de optimización de puntero.
(plantilla de función) [editar]

[editar] Control de errores

Excepciones (p. ej., std::exception, std::logic_error), aserciones (p. ej., assert).

[editar] Captura de información de código fuente

Definido en el archivo de encabezado <source_location>
Una clase que representa información sobre el código fuente, tales como nombres de archivo, números de línea, y nombres de función.
(clase) [editar]

[editar] Lista de inicializadores

Definido en el archivo de encabezado <initializer_list>
Permite el uso de la sintaxis de inicialización de lista para inicializar tipos de datos no simples (plain-old data types).
(plantilla de clase) [editar]

[editar] Comparación de tres vías

Definido en el archivo de encabezado <compare>
Especifica que el operador <=> produce un resultado consistente en los tipos dados.
(concepto) [editar]
El tipo del resultado de una comparación de tres vías que soporta todos los 6 operadores, no es sustituible y permite valores incomparables.
(clase) [editar]
El tipo del resultado de una comparación de tres vías que soporta todos los 6 operadores y no es sustituible.
(clase) [editar]
El tipo del resultado de una comparación de tres vías que soporta todos los 6 operadores y es sustituible.
(clase) [editar]
Funciones de comparación nombradas.
(función) [editar]
Objeto función que implementa x <=> y
(clase) [editar]
Obtiene el tipo del resultado del operador de comparación de tres vías <=> en tipos dados.
(plantilla de clase) [editar]
La categoría de comparación más fuerte a la que pueden convertirse todos los tipos dados.
(plantilla de clase) [editar]
Realiza una comparación de tres vías y produce un resultado de tipo std::strong_ordering.
(objeto de punto de personalización) [editar]
Realiza una comparación de tres vías y produce un resultado de tipo std::weak_ordering.
(objeto de punto de personalización) [editar]
Realiza una comparación de tres vías y produce un resultado de tipo std::partial_ordering.
(objeto de punto de personalización) [editar]
Realiza una comparación de tres vías y produce un resultado de tipo std::strong_ordering, incluso si operator<=> no se encuentra disponible.
(objeto de punto de personalización) [editar]
Realiza una comparación de tres vías y produce un resultado de tipo std::weak_ordering, incluso si operator<=> no se encuentra disponible.
(objeto de punto de personalización) [editar]
Realiza una comparación de tres vías y produce un resultado de tipo std::partial_ordering, incluso si operator<=> no se encuentra disponible.
(objeto de punto de personalización) [editar]

[editar] Soporte de corrutinas

Tipos para soporte de corrutinas, p. ej., std::coroutine_traits, std::coroutine_handle.

(desde C++20)

[editar] Funciones variádicas

Soporte para funciones que toman un número arbitrario de parámetros (p. ej., va_start, va_arg, va_end).

[editar] Utilerías de propósito general

[editar] Operaciones de intercambio y tipo

Definido en el archivo de encabezado <utility>
Intercambia los valores de dos objetos
(plantilla de función) [editar]
(C++14)
Reemplaza el argumento con un valor nuevo y devuelve su valor previo.
(plantilla de función) [editar]
(C++11)
Reenvía una función argumento
(plantilla de función) [editar]
(C++11)
Obtiene una referencia rvalue
(plantilla de función) [editar]
Obtiene una referencia rvalue si el constructor de movimiento no lanza una excepción
(plantilla de función) [editar]
(C++17)
Obtiene una referencia a const para su argumento.
(plantilla de función) [editar]
(C++11)
Obtiene el tipo de expresión de un contexto no evaluado.
(plantilla de función) [editar]
Definido en el archivo de encabezado <concepts>
Intercambia los valores de dos objetos.
(objeto de punto de personalización) [editar]

[editar] Funciones de comparación de enteros

Definido en el archivo de encabezado <utility>
Compara dos valores enteros sin que haya cambio de valor por una conversión
(plantilla de función) [editar]
(C++20)
Comprueba si un valor entero se encuentra en el rango de un tipo entero dado
(plantilla de función) [editar]

[editar] Operadores relacionales

Definido en el archivo de encabezado <utility>
Definido en el espacio de nombres std::rel_ops
Genera automáticamente operadores de comparación basados en operator== y operator< definidos por el usuario
(plantilla de función) [editar]

[editar] Pares y tuplas

Definido en el archivo de encabezado <utility>
Implementa una tupla binaria, es decir, un par de valores.
(plantilla de clase) [editar]
Tipo etiqueta utilizado para seleccionar una sobrecarga de función correcta para la construcción por segmentos/tramos.
(clase) [editar]
Un objeto de tipo piecewise_construct_t utilizado para eliminar la ambigüedad de funciones para construcción por segmentos/tramos.
(constante) [editar]
Implementa una secuencia de enteros en tiempo de compilación.
(plantilla de clase) [editar]
Definido en el archivo de encabezado <tuple>
(C++11)
Implementa un contenedor de tamaño fijo, que contiene elementos de tipos posiblemente diferentes.
(plantilla de clase) [editar]
(C++17)
Llama a una función con una tupla de argumentos.
(plantilla de función) [editar]
Construye un objeto con una tupla de argumentos.
(plantilla de función) [editar]

[editar] Optional, variant y any

Definido en el archivo de encabezado <optional>
(C++17)
Un envoltorio que puede o no mantener un objeto.
(plantilla de clase) [editar]
Definido en el archivo de encabezado <variant>
(C++17)
Una unión discriminada con seguridad de tipo.
(plantilla de clase) [editar]
Definido en el archivo de encabezado <any>
(C++17)
Objetos que contienen instancias de cualquier tipo CopyConstructible.
(clase) [editar]
Definido en el archivo de encabezado <utility>
Etiqueta de construcción en el sitio (in situ).
(plantilla de clase) [editar]

[editar] Conjunto de bits

Definido en el archivo de encabezado <bitset>
Implementa un array de bits de longitud constante.
(plantilla de clase) [editar]

[editar] Objetos función

Aplicación de función parcial (p. ej., std::bind) y utilerías relacionadas: utilerías para vinculación tales como std::ref y std::placeholders, envoltorios de funciones polimórficas: std::function), objetos función predefinidos (p. ej., std::plus, std::equal_to), convertidores de función a método std::mem_fn.

[editar] Soporte para hash (resumen)

Definido en el archivo de encabezado <functional>
(C++11)
Objeto función hash.
(plantilla de clase) [editar]

[editar] Fecha y hora

Seguimiento del tiempo (p. ej., std::chrono::time_point, std::chrono::duration), fecha y hora estilo C (p. ej., std::time, std::clock).

[editar] Conversiones elementales de cadenas

Además de la adición de analizadores y formateadores dependientes de la configuración regional proporcionadas por la biblioteca de E/S de C++, la biblioteca de E/S de C, convertidores de cadena de C++, y convertidores de cadena de C, el archivo de encabezado <charconv> proporciona analizadores y formateadores para tipos aritméticos: de peso ligero, independientes de la configuración regional, que no asignan memoria, y que no lanzan excepciones.

Definido en el archivo de encabezado <charconv>
(C++17)
Convierte un valor entero o de punto flotante a una secuencia de caracteres.
(función) [editar]
Convierte una secuencia de caracteres a un valor entero o de punto flotante
(función) [editar]
Especifica formato para std::to_chars y std::from_chars
(enum) [editar]

[editar] Biblioteca de formato (desde C++20)

Servicios para formateo de cadenas de tipo seguro, p. ej., std::format std::format_to.

X Tutup