Welcome to Abseil! Abseil is an open-source collection of C++ code (compliant to C++11) designed to augment the C++ standard library. This document introduces Abseil and provides an overview of the code we’re providing.
The Abseil codebase consists of the following C++ library components:
baselibrary contains initialization code and other code which all other Abseil code depends on. Code within
basemay 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.
containerlibrary contains additional STL-style containers.
debugginglibrary contains code useful for enabling leak checks. Future updates will add stacktrace and symbolization utilities.
memorylibrary contains C++11-compatible versions of
std::make_unique()and related memory management facilities.
metalibrary contains C++11-compatible versions of type checks available within C++14 and C++17 versions of the C++
numericlibrary contains C++11-compatible 128-bit integers.
stringslibrary contains a variety of strings routines and utilities, including a C++11-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++11-compatible version of
The Abseil C++ library is licensed under the terms of the Apache license. See LICENSE for more information.
For more information about Abseil: