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


Проект 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

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *