Repolode
abseil

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