absl::Hash
By Derek Mauro, Abseil Engineer
In September 2017, Abseil made the following support promise:
We will support our code for at least 5 years. We will support language
versions, compilers, platforms, and workarounds as needed for 5 years after
their replacement is available, when possible. If it is technically infeasible
(such as support for MSVC before 2015, which has limited C++11 functionality),
those will be noted specifically. After 5 years we will stop support and may
remove workarounds. ABSL_HAVE_THREAD_LOCAL
is a good example: the base
language feature works on everything except Xcode prior to Xcode 8 ; once
Xcode 8 is out for 5 years, we will drop that workaround support.
By Xiaoyi Zhang, Google Engineer, Emeritus
The Abseil status library is now available on abseil.io. This library is used within Google for error handling and contains the following two abstractions:
absl::Status
absl::StatusOr<T>
Within Google, absl::Status
is the primary mechanism to gracefully handle
errors across API boundaries (and in particular across RPC boundaries). Some of
these errors may be recoverable, but others may not. Most functions that can
produce a recoverable error should be designed to return either an
absl::Status (or the similar absl::StatusOr<T>
, which holds either an object
of type T
or an error).
By Chris Kennelly, Google Software Engineer
We are happy to announce the arrival of TCMalloc, a fast memory allocator with useful profiling and introspection features.
The source code can be found on Github. This is a distinct repository, allowing Abseil to be used independently of TCMalloc. The library includes:
By Andy Soffer, Engineer
We are happy to announce the arrival of the Abseil Random library, providing simple tools for generating random numbers and testing code that uses random numbers.
Abseil now includes a random number generation library, which can be found in
absl/random/
.
The library includes
By Greg Falcon, Abseil Engineer
Abseil now provides an options
file,
providing a limited means of configuring Abseil’s features. In the initial
release of this options mechanism, we have added the ability to override
Abseil’s automatic type detection and force (for example) absl::string_view
to
either always alias to std::string_view
, or always remain using our Abseil
implementation.