Espacios de nombres
Variantes

Biblioteca de servicios

De cppreference.com
< cpp
 
 
Biblioteca de servicios
 

C++ incluye una variedad de bibliotecas de servicios 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 apoyo del lenguage, y
  • bibliotecas de propósito general.

Apoyo del lenguaje

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

Propiedades de la implementación (desde C++20)

El 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ística.

Apoyo de tipos

Tipos básicos (p. ej., std::size_t std::nullptr_t), RTTI (p. ej. std::type_info).

Servicios de programas

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

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).

Control de errores

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

Funciones variádicas

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

Listas de inicializadores (desde C++11)

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]

Captura de información de código fuente (desde C++20)

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]

Comparación de tres vías (desde C++20)

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 punto de personalización) [editar]
Realiza una comparación de tres vías y produce un resultado de tipo std::weak_ordering.
(objeto punto de personalización) [editar]
Realiza una comparación de tres vías y produce un resultado de tipo std::partial_ordering.
(objeto 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 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 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 punto de personalización) [editar]

Apoyo de corrutinas (desde C++20)

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

Apoyo de contratos (desde C++26)

Tipos para apoyo de contratos (p. ej., std::contracts::contract_violation).

Servicios de propósito general

Intercambio

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]
Definido en el archivo de encabezado <concepts>
Intercambia los valores de dos objetos.
(objeto punto de personalización) [editar]

Operaciones de tipo (desde C++11)

Plantilla:cpp/utility/dsc forward like
Definido en el archivo de encabezado <utility>
(C++11)
Reenvía una función argumento
(plantilla de función) [editar]
(C++11)
Obtiene una referencia r-valor
(plantilla de función) [editar]
Obtiene una referencia r-valor 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]
Convierte una enumeración en su tipo subyacente.
(plantilla de función) [editar]

Funciones de comparación de enteros (desde C++20)

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]

Operadores relacionales (hasta C++20)

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]

Etiquetas de construcción (desde C++11)

Plantilla:cpp/utility/dsc nontype
Definido en el archivo de encabezado <utility>
Un objeto de tipo piecewise_construct_t utilizado para eliminar la ambigüedad de funciones para construcción por segmentos/tramos.
(constante) [editar]
Etiqueta de construcción en el sitio (in situ).
(plantilla de clase) [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]
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]
Protocolo de tupla (desde C++11)
Definido en el archivo de encabezado <tuple>
Definido en el archivo de encabezado <utility>
Definido en el archivo de encabezado <array>
Definido en el archivo de encabezado <ranges>
Definido en el archivo de encabezado <complex>
Obtiene el número de elementos de un tipo similar a una tupla.
(plantilla de clase) [editar]
Obtiene los tipos de elementos de un tipo similar a una tupla.
(plantilla de clase) [editar]

Tipos suma y envoltorios de tipo borrado (desde C++17)

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 <expected>
(C++23)
Un envoltorio que contiene o bien un objeto de tipo expected o el valor de un error
(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]

Bitset

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

Manipulación de bits (desde C++20)

El encabezado <bit> proporciona varias plantillas de funciones para acceder, manipular y procesar bits individuales y secuencias de bits. El orden de los bytes (endianness) de los tipos escalares se puede inspeccionar mediante el servicio std::endian.

Objetos función (desde C++11)

Aplicación de función parcial (p. ej., std::bind) y servicios relacionados: servicios 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 puntero a miembro a función std::mem_fn.

Apoyo para hash (desde C++11)

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

Véase también

Documentación de C para Biblioteca de servicios