base library contains initialization code and other code which all other Abseil code depends on. Code within
base may not depend on any other code (other than the C++ standard library).
algorithmlibrary contains additions to the C++
<algorithm>library and container-based versions of such algorithms.
cleanuplibrary contains the control-flow-construct-like type
absl::Cleanupwhich is used for executing a callback on scope exit.
containerlibrary contains additional STL-style containers, including Abseil's unordered “Swiss table” containers.
debugginglibrary contains code useful for enabling leak checks, and stacktrace and symbolization utilities.
flagslibrary contains code for handling command line flags for libraries and binaries built with Abseil.
hashlibrary contains the hashing framework and default hash functor implementations for hashable types in Abseil.
iteratorlibrary contains utilities for augmenting ranges in range-based for loops.
CHECKmacros and facilities for writing logged messages out to disk,
stderr, or user-extensible destinations.
memorylibrary contains memory management facilities that augment C++'s
metalibrary contains compatible versions of type checks available within C++14 and C++17 versions of the C++
numericlibrary contains 128-bit integer types as well as implementations of C++20's bitwise math functions.
profilinglibrary contains utility code for profiling C++ entities. It is currently a private dependency of other Abseil libraries.
randomlibrary contains functions for generating psuedorandom values.
statuslibrary contains abstractions for error handling, specifically
stringslibrary contains a variety of strings routines and utilities, including a C++14-compatible version of the C++17
synchronizationlibrary contains concurrency primitives (Abseil's
absl::Mutexclass, an alternative to
std::mutex) and a variety of synchronization abstractions.
timelibrary contains abstractions for computing with absolute points in time, durations of time, and formatting and parsing time within time zones.
typeslibrary contains non-container utility types, like a C++14-compatible version of the C++17
utilitylibrary contains utility and helper code.
Abseil recommends users “live-at-head” (update to the latest commit from the master branch as often as possible). However, we realize this philosophy doesn't work for every project, so we also provide Long Term Support Releases to which we backport fixes for severe bugs. See our release management document for more details.
The Abseil C++ library is licensed under the terms of the Apache license. See LICENSE for more information.
For more information about Abseil: