Welcome to Abseil! Abseil is an open-source collection of C++ code (compliant to C++17) 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:
base Abseil
Fundamentalsbase 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).algorithm
algorithm library contains additions to the C++ <algorithm>
library and container-based versions of such algorithms.container
container library contains additional STL-style containers.debugging
debugging library contains code useful for enabling leak
checks, and stacktrace and symbolization utilities.hash
hash library contains the hashing framework and default hash
functor implementations for hashable types in Abseil.memory
memory library contains memory management facilities that
augment C++’s <memory> library.meta
meta library contains type checks similar to those available in
the C++ <type_traits> library.numeric
numeric library contains 128-bit integer types as well as
implementations of C++20’s bitwise math functions.strings
strings library contains a variety of strings routines and
utilities.synchronization
synchronization library contains concurrency primitives (Abseil’s
absl::Mutex class, an alternative to std::mutex) and a variety of
synchronization abstractions.time
time library contains abstractions for computing with absolute
points in time, durations of time, and formatting and parsing time within
time zones.types
types library contains non-container utility types.utility
utility library contains utility and helper code.The Abseil C++ library is licensed under the terms of the Apache license. See LICENSE for more information.
For more information about Abseil: