Google представила Abseil, дополнение к стандартной библиотеке C++
Новости
В проект включены функции, хорошо зарекомендовавшие себя и используемые в таких проектах Google, как gRPC, Protobuf и TensorFlow.
2К открытий2К показов
Проект 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 системой обработки флагов командной строки и модулем ведения логов.
2К открытий2К показов