abseil/abseil-cpp

Description: Abseil Common Libraries (C++)

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 46 minutes ago
Added to GitGenius on July 14th, 2026
Created on September 20th, 2017
Open Issues & Pull Requests: 234 (+0)
GitHub issues: Enabled
Number of forks: 3,173
Total Stargazers: 18,026 (+0)
Total Subscribers: 627 (+0)

Issue Activity (beta)

Open issues: 66
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 606 days
Stale 30+ days: 64
Stale 90+ days: 52

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (8)
  • question (7)
  • enhancement (1)
  • help wanted (1)
  • priority: p3 (1)

Most active issues this week

Repository Insights (GitGenius)

Median issue/PR response: 7.3 hours
Mean response time: 26.8 days
90th percentile: 15.0 days
Tracked items: 168

Most active contributors

Detailed Description

Abseil is an open-source collection of C++ libraries designed to augment the C++ standard library, maintained by Google and distributed under the Apache license. The library code originates from Google's internal C++ codebase, has been extensively tested in production environments, and represents the same utilities that Google engineers depend on in their daily work. Abseil is compliant with C++17 and is not intended to compete with the standard library but rather to provide utilities and abstractions that have proven valuable in large-scale production systems.

The repository contains seventeen distinct library components, each addressing specific domains of C++ development. The base library provides initialization code and foundational utilities that all other Abseil components depend on. The algorithm library extends the C++ algorithm library with container-based versions of standard algorithms. The container library introduces additional STL-style containers, notably Abseil's Swiss table implementations for unordered containers. The strings library offers a variety of string routines and utilities, while the time library provides abstractions for working with absolute points in time, durations, and timezone-aware formatting and parsing.

For concurrent programming, the synchronization library provides primitives including Abseil's Mutex class as an alternative to std::mutex, along with various synchronization abstractions. The status library contains error handling abstractions through absl::Status and absl::StatusOr<T>. The random library generates pseudorandom values, and the numeric library provides 128-bit integer types and C++20 bitwise math function implementations. The hash library implements a hashing framework with default hash functors, while the memory library augments C++'s memory management facilities.

Additional specialized components include the debugging library for leak checks and stacktrace utilities, the flags library for command-line flag handling, the log library for LOG and CHECK macros with extensible output destinations, the cleanup library providing scope-exit callback execution, the crc library for cyclic redundancy check computation, the meta library for type checks similar to C++ type_traits, the types library for non-container utility types, the utility library for helper code, and the profiling library for profiling utilities.

The project supports both Bazel and CMake as official build systems. Abseil follows Google's Foundational C++ Support Policy and maintains compatibility with specified compiler versions, platforms, and build tools. The project recommends users adopt a "live-at-head" philosophy by updating to the latest master branch commits regularly, though Long Term Support Releases are also provided for projects requiring stability, with backported fixes for severe bugs. Documentation is available through the Abseil website, including quickstart guides, compatibility guarantees, and design philosophy materials.

abseil-cpp
by
abseilabseil/abseil-cpp

Repository Details

Fetching additional details & charts...