Repolode
abseil

abseil/abseil-cpp

Abseilは、コンテナ、文字列、時刻、ロギング、同期ユーティリティで標準ライブラリを拡張する、Google発のC++17ライブラリ集です。

スター
18,169
フォーク
3,186
未解決の Issue
306
最終コミット
39 分前

これは何?

Abseilは、C++17向けに書かれたオープンソースのC++ライブラリ集で、C++標準ライブラリを補完します。Googleの社内C++コードベースをもとにしており、日々の業務で使われています。標準ライブラリにない機能を補う領域もあれば、大規模な利用で得られたニーズに合わせた代替機能を提供する領域もあります。

ライブラリは、base、コンテナ(Swiss-tableハッシュコンテナを含む)、status(absl::Statusとabsl::StatusOr<T>)、文字列、時刻、ロギング(LOGおよびCHECKマクロ)、flags、ハッシュ、乱数、absl::Mutexなどの同期プリミティブといったコンポーネントで構成されています。各コンポーネントはabsl/以下の個別ディレクトリにあるため、必要なものだけを利用できます。

AbseilはBazelまたはCMakeでビルドでき、コンパイラとプラットフォームについてGoogleの基本C++サポートポリシーに従っています。プロジェクトではmasterブランチの利用を推奨しており、重大なバグの修正をバックポートした長期サポートリリースも公開しています。

主な機能

  • 01Swiss-tableハッシュコンテナを含むコンテナ
  • 02エラー処理に使えるabsl::Statusとabsl::StatusOr<T>
  • 03文字列ユーティリティ、時刻・タイムゾーン処理、乱数生成
  • 04LOGおよびCHECKロギングマクロとabsl::Mutexによる同期
  • 05単独でも利用できるモジュール式コンポーネント
  • 06BazelまたはCMakeでビルド可能

ユースケース

  • 大規模なC++コードベースにステータスベースのエラー処理を導入する
  • パフォーマンスが重要なコードでSwiss-tableハッシュコンテナを使う
  • 並行処理を行うサービスでstd::mutexをabsl::Mutexに置き換える
  • C++アプリケーションでタイムゾーンをまたぐ時刻の解析と書式設定を行う

収録されている特集

トピック

よくある質問

abseil-cpp とは?
Abseilは、コンテナ、文字列、時刻、ロギング、同期ユーティリティで標準ライブラリを拡張する、Google発のC++17ライブラリ集です。 Abseilは、C++17向けに書かれたオープンソースのC++ライブラリ集で、C++標準ライブラリを補完します。Googleの社内C++コードベースをもとにしており、日々の業務で使われています。標準ライブラリにない機能を補う領域もあれば、大規模な利用で得られたニーズに合わせた代替機能を提供する領域もあります。
abseil-cpp は無料で使えますか?ライセンスは?
abseil-cpp は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
abseil-cpp は今もメンテナンスされていますか?
活発にメンテナンス中。abseil-cpp の最終コミットは 2026年10月25日 です。
abseil-cpp は何に使えますか?
大規模なC++コードベースにステータスベースのエラー処理を導入する パフォーマンスが重要なコードでSwiss-tableハッシュコンテナを使う 並行処理を行うサービスでstd::mutexをabsl::Mutexに置き換える C++アプリケーションでタイムゾーンをまたぐ時刻の解析と書式設定を行う
abseil-cpp はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/abseil/abseil-cpp

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト