Google представил открытую библиотеку Abseil для разработчиков на C++

Четверг, 28 сентября 2017 г.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e

В понедельник Google выпустил исходные коды библиотеки Abseil, созданной для того, чтобы значительно дополнить стандартную библиотеку языка C++. Данный код на протяжении многих лет использовался как базовая библиотека при разработке закрытого ПО, но был вынесен в отдельный открытый проект для упрощения открытия исходных кодов и разработки других библиотек, например, protobuf, grpc и tensorflow. Код распространяется под лицензией Apache 2.0.

Библиотека собирается с помощью bazel — системы сборки с открытым кодом, которая используется в Google. Данная система сборки позволяет точно контроллировать зависимости и получать воспроизводимые артефакты, но достаточно неудобна для повседневного использования. Но библиотека предполагает статическую линковку, так что её интеграция в любую систему сборки будет тривиальной.

Интересные части библиотеки:

absl: Mutex — примитив синхронизации, который одновременно может служить мьютексом, condition variable и read-write-блокировкой. Данный класс был разработан до появления C++11, но не был заменён std: mutex и его аналогами, так как предоставляет менее ошибкопорождающий интерфейс.
Бекпорты некоторых возможностей C++14/C++17 для компиляторов, поддерживающих только C++11: absl: make_unique, absl: optional, absl: any, absl: span, absl: string_view. При этом при сборке новым компилятором большинство absl: типов будут обычным typedef для библиотечных.
«Стандартный» набор функций работы со строками: split, join, replace, объединение строк, перевод чисел в строки и обратно.
Функции и классы для работы с временем и промежутками времени (по сути дублирующие аналоги из std: chrono); 128-битный целочисленный тип данных; InlinedVector, позволяющий хранить маленькие массивы без выделения памяти; и прочее.

В данный момент список не очень большой, но библиотека постоянно будет дополняться.

>>> Подробности на opennet

Следите за нами в ВКонтакте, Facebook'e и Twitter'e


Просмотров: 903
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003