A TypeScript library for building production-grade apps with typed errors, dependency injection, structured concurrency, and schema validation.
abseil/abseil-cpp
Abseil is a collection of C++17 library code from Google that extends the standard library with containers, strings, time, logging, and synchronization utilities.
- Stars
- 18,169
- Forks
- 3,186
- Open issues
- 306
- Last commit
- 39 minutes ago
What is it?
Abseil is an open-source collection of C++ library code, written to C++17, that augments the C++ standard library. The code is drawn from Google's own C++ codebase and is used in its daily work. In some areas it fills gaps the standard does not cover, and in others it offers alternatives tuned to needs found in large-scale use.
The library is organized into components such as base, containers (including Swiss-table hash containers), status (absl::Status and absl::StatusOr<T>), strings, time, logging (LOG and CHECK macros), flags, hashing, random, and synchronization primitives such as absl::Mutex. Each component lives in its own directory under absl/, so developers can depend on only the pieces they need.
Abseil builds with Bazel or CMake, and it follows Google's foundational C++ support policy for compilers and platforms. The project recommends tracking the master branch, and it also publishes long-term support releases that receive backported fixes for severe bugs.
Key features
- 01Containers, including Swiss-table hash containers
- 02absl::Status and absl::StatusOr<T> for error handling
- 03String utilities, time and time zone handling, and random number generation
- 04LOG and CHECK logging macros and absl::Mutex synchronization
- 05Modular components that can be used independently
- 06Builds with Bazel or CMake
Use cases
- Adding status-based error handling to a large C++ codebase
- Using Swiss-table hash containers in performance-sensitive code
- Replacing std::mutex with absl::Mutex in concurrent services
- Parsing and formatting times across time zones in C++ applications
In collections
Topics
FAQ
- What is abseil-cpp?
- Abseil is a collection of C++17 library code from Google that extends the standard library with containers, strings, time, logging, and synchronization utilities. Abseil is an open-source collection of C++ library code, written to C++17, that augments the C++ standard library. The code is drawn from Google's own C++ codebase and is used in its daily work. In some areas it fills gaps the standard does not cover, and in others it offers alternatives tuned to needs found in large-scale use.
- Is abseil-cpp free to use? What license does it have?
- abseil-cpp is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is abseil-cpp still maintained?
- Actively maintained. The last commit to abseil-cpp was on Oct 25, 2026.
- What can I use abseil-cpp for?
- Adding status-based error handling to a large C++ codebase Using Swiss-table hash containers in performance-sensitive code Replacing std::mutex with absl::Mutex in concurrent services Parsing and formatting times across time zones in C++ applications
- Where can I get abseil-cpp?
- The source code and installation instructions are on GitHub: https://github.com/abseil/abseil-cpp
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A fast, concurrent, memory-bound cache library for Go with cost-based eviction and TinyLFU admission.
A header-only C++ library of fast, memory-friendly hash maps, sets, and B-tree containers that can replace the std unordered and ordered containers.
Universal TypeScript and JavaScript logger with pretty terminal output, structured fields-first JSON, secret masking and zero runtime dependencies.
A Go utility library of 700+ reusable helper functions for strings, slices, datetime, networking, cryptography and more, inspired by lodash.
A Python debugging helper where ic() replaces print() by showing variable names, expressions, and their values with pretty-printed, syntax-highlighted output.