Una biblioteca de TypeScript para crear aplicaciones listas para producción con errores tipados, inyección de dependencias, concurrencia estructurada y validación de esquemas.
abseil/abseil-cpp
Abseil es una colección de bibliotecas C++17 de Google que amplía la biblioteca estándar con contenedores, cadenas, utilidades de tiempo, logging y sincronización.
- Estrellas
- 18,169
- Forks
- 3,186
- Issues abiertos
- 306
- Último commit
- hace 39 minutos
¿Qué es?
Abseil es una colección de código de bibliotecas C++ de código abierto, escrito para C++17, que amplía la biblioteca estándar de C++. El código procede de la propia base de código C++ de Google y se utiliza en su trabajo diario. En algunos ámbitos cubre carencias de la biblioteca estándar y, en otros, ofrece alternativas adaptadas a las necesidades de los sistemas a gran escala.
La biblioteca se organiza en componentes como base, containers (incluidos los contenedores hash Swiss-table), status (absl::Status y absl::StatusOr<T>), strings, time, logging (macros LOG y CHECK), flags, hashing, random y primitivas de sincronización como absl::Mutex. Cada componente está en su propio directorio dentro de absl/, por lo que los desarrolladores pueden depender únicamente de las partes que necesitan.
Abseil se compila con Bazel o CMake y sigue la política de soporte de C++ fundamental de Google para compiladores y plataformas. El proyecto recomienda seguir la rama master y también publica versiones con soporte a largo plazo que reciben correcciones retroportadas para errores graves.
Funciones clave
- 01Contenedores, incluidos los contenedores hash Swiss-table
- 02absl::Status y absl::StatusOr<T> para gestionar errores
- 03Utilidades para cadenas, gestión de fechas y zonas horarias, y generación de números aleatorios
- 04Macros de logging LOG y CHECK, y sincronización con absl::Mutex
- 05Componentes modulares que se pueden usar de forma independiente
- 06Se compila con Bazel o CMake
Casos de uso
- Añadir gestión de errores basada en estados a una base de código C++ grande
- Usar contenedores hash Swiss-table en código donde el rendimiento es importante
- Sustituir std::mutex por absl::Mutex en servicios concurrentes
- Analizar y dar formato a fechas y horas de distintas zonas horarias en aplicaciones C++
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es abseil-cpp?
- Abseil es una colección de bibliotecas C++17 de Google que amplía la biblioteca estándar con contenedores, cadenas, utilidades de tiempo, logging y sincronización. Abseil es una colección de código de bibliotecas C++ de código abierto, escrito para C++17, que amplía la biblioteca estándar de C++. El código procede de la propia base de código C++ de Google y se utiliza en su trabajo diario. En algunos ámbitos cubre carencias de la biblioteca estándar y, en otros, ofrece alternativas adaptadas a las necesidades de los sistemas a gran escala.
- ¿abseil-cpp es gratuito? ¿Qué licencia tiene?
- abseil-cpp es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿abseil-cpp sigue mantenido?
- Mantenimiento activo. El último commit de abseil-cpp fue el 25 oct 2026.
- ¿Para qué puedo usar abseil-cpp?
- Añadir gestión de errores basada en estados a una base de código C++ grande Usar contenedores hash Swiss-table en código donde el rendimiento es importante Sustituir std::mutex por absl::Mutex en servicios concurrentes Analizar y dar formato a fechas y horas de distintas zonas horarias en aplicaciones C++
- ¿Dónde consigo abseil-cpp?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/abseil/abseil-cpp
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca de caché rápida, concurrente y limitada por memoria para Go, con expulsión basada en el costo y admisión TinyLFU.
Biblioteca de C++ header-only con mapas hash, conjuntos y contenedores B-tree rápidos y eficientes en memoria, como alternativa a los contenedores estándar ordenados y no ordenados.
Logger universal para TypeScript y JavaScript, con salida legible en terminal, JSON estructurado con los campos al principio, enmascaramiento de secretos y cero dependencias en tiempo de ejecución.
Biblioteca de utilidades para Go con más de 700 funciones reutilizables para cadenas, slices, fechas y horas, redes, criptografía y más, inspirada en lodash.
Una herramienta de depuración para Python en la que ic() reemplaza a print() y muestra los nombres de variables, las expresiones y sus valores con formato legible y resaltado de sintaxis.