Google представила Abseil, дополнение к стандартной библиотеке C++

В проект включены функции, хорошо зарекомендовавшие себя и используемые в таких проектах Google, как gRPC, Protobuf и TensorFlow.
Abseil

Проект Abseil распространяется под лицензией Apache. Функции, включённые в проект, не заменяют стандартные аналоги в библиотеке C++, а просто дополняют их, внося альтернативные реализации возможностей стандартов C++14 и С++17: например, адаптированныx для С++11 реализаций типов стандарта С++17 string_view и optional.

Основные компоненты Abseil:

  • base — базовая часть, использующая стандартную библиотеку С++;
  • algorithm — коллекция алгоритмов, дополняющая стандартную библиотеку C++ и включающая алгоритмы с использованием контейнеров;
  • debugging — отладочная библиотека;
  • memory — функции по работе с памятью;
  • numeric — совместимые с С++11 реализации 128-разрядных целых типов;
  • strings — функции обработки строк, включая absl::StrCat(), absl::StrJoin(), absl::StrSplit() и С++17 версию astd::string_view, совместимую со стандартом С++11;
  • synchronization — функции параллельного выполнения потоков из оптимизированного класса absl::Mutex;
  • time — функции для работы со временем: absl::Time, а также absl::Now()— аналог функции стандартной библиотеки std::chrono::system_clock::now();
  • types — неконтейнерные утилиты, такие как совместимая с С++11 версия absl::optional.

Параллельно компания Google поддерживает вариант библиотеки для Python c системой обработки флагов командной строки и модулем ведения логов.

Источник: блог Google Open Source