目次
パッケージマネージャー
パッケージマネージャ
説明
build2
オープンソース(MITライセンス)のクロスプラットフォームビルドツールチェーン。Rust Cargoの利便性をC/C++プロジェクトの開発とパッケージングに近似させつつ、特にビルドシステムにおいてより深い機能性と柔軟性を提供することを目指しています。
cget
CMakeパッケージ取得ツール。CMakeパッケージのダウンロードとインストールに使用できます。
cmodule
非侵入型のCMake依存関係管理ツール。
conan
分散型のオープンソース(MITライセンス)C/C++パッケージマネージャ。
CPM.cmake
CMakeに依存関係管理機能を追加するCMakeスクリプト。CMakeのFetchContentモジュールを薄くラップし、バージョン管理、キャッシング、シンプルなAPIなどを追加しています。
hunter
CMake駆動のクロスプラットフォームC/C++プロジェクト用パッケージマネージャ。
spack
スーパーコンピュータ、Linux、macOS向けのパッケージマネージャ。科学技術ソフトウェアのインストールを容易にします。特定のプログラミング言語に依存しません。
teaport
CocoaPodsにインスパイアされた依存関係マネージャ。
vcpkg
Windows、Linux、macOS向けのC/C++パッケージマネージャ。
xmake
クロスプラットフォームのLuaベースC/C++ビルドツール兼パッケージマネージャ。
ライブラリ
オーディオ
ライブラリ
説明
ライセンス
設定
Amplitude Audio SDK
ゲームのニーズを考慮して設計されたクロスプラットフォームのオーディオエンジン。(
ソース
)
Apache-2.0
cmake, vcpkg
Aquila
C++11向けのオープンソースでクロスプラットフォームなDSPライブラリ。
MIT
cmake
Aubio
オーディオおよび音楽分析のためのC/Pythonライブラリ。(
ソース
)
GPL-3.0
make
audioFlux
オーディオおよび音楽分析、特徴量抽出のためのCライブラリ。
MIT
Essentia
オーディオおよび音楽の分析、記述、合成(MIR)のためのオープンソースライブラリおよびツール。(
ソース
)
Affero GPLv3
FFTW
DFTを計算するためのライブラリ(SSE/SSE2/AVX/Altivec/ARM Neon)。(
ソース
)
GPL-2.0
cmake
FMOD
ゲーム向けの使いやすいクロスプラットフォームのオーディオエンジンおよびオーディオコンテンツ作成ツール。
非商用/商用向け無料
cmake
KFR
高速でモダンなC++17、オープンソース、クロスプラットフォームのDSP/DFTフレームワーク。オーディオリサンプリング、FIR/IIRフィルター、Biquadをサポート(SSE、AVX、AVX-512、ARM NEON)。(
ソース
)
GPL-2.0
cmake
libsoundio
クロスプラットフォームのリアルタイムオーディオ入出力のためのCライブラリ。(
ソース
)
MIT
cmake
Maximilian
C++オーディオおよび音楽DSPライブラリ。
MIT
cmake
Miniaudio
オーディオ再生およびキャプチャのためのCライブラリ。(
ソース
)
Unlicense
単一ソースファイル
ni-media
オーディオファイルの読み書きのためのC++ライブラリ。
MIT
cmake, vcpkg
OpenAL
クロスプラットフォームのオーディオAPI。
BSD/LGPL/プロプライエタリ
cmake
PortAudio
無料のクロスプラットフォームオープンソースオーディオI/Oライブラリ。(
ソース
)
MIT
cmake, vcpkg
rnnoise
オーディオノイズ低減のためのリカレントニューラルネットワーク。
BSD-3-Clause
make
SELA
S
インプルな
E
L
オスレス
A
ウディオ。
MIT
cmake
SoLoud
ゲーム向けの簡単でポータブルなオーディオエンジン。
zlib
Soundtouch
オーディオストリームまたはオーディオファイルのテンポ、ピッチ、再生レートを変更するためのオープンソースのクロスプラットフォームオーディオ処理ライブラリ。(
ソース
)
LGPL-2.1
make
Tonic
C++での簡単で効率的なオーディオシンセシス。
Unlicense
Verovio
高速で軽量な楽譜刻版ライブラリ。(
ソース
)
LGPL
cmake, qmake
Wav2Letter++
完全にC++で書かれた高速な音声認識ツールキット。最大効率のためにArrayFireテンソルライブラリとflashlight機械学習ライブラリを使用。
BSDライセンス
cmake
CD
フィンガープリンティング
ライブラリ
説明
ライセンス
設定
chromaprint
Chromaprintは、ほぼ同一のオーディオを識別するために設計されたオーディオフィンガープリントライブラリです。精度と堅牢性を検索性能とトレードオフしています。Chromaprintは複数のFFTライブラリ - FFmpeg、FFTW3、KissFFT、vDSPを使用できます。(
ソース
)
MIT, LGPL 2.1
cmake
libmusicbrainz
MusicBrainzクライアントライブラリ(libmusicbrainz)、別名mb_clientは、開発者がアプリケーションにMusicBrainz検索機能を追加するための開発ライブラリです。このライブラリはWindows、Linux、Mac OS Xをサポートしています(
ソース
)
LGPL-2.1
cmake
libofa
MusicIPによるオープンソースのオーディオフィンガープリント
APL
make
フォーマット
ライブラリ
説明
ライセンス
設定
AudioFile
オーディオファイルの読み書きを行うシンプルなC++ライブラリ
MIT
cmake
audio_file
多くの一般的なフォーマットでオーディオファイルの読み書きを扱うライブラリ (
ソース
)
LGPL-2.1
make
dr_libs
CおよびC++用のシングルファイルオーディオ(FLAC、MP3、WAV)デコードライブラリ
Unlicense
flac
FLACは
F
ree
L
ossless
A
udio
C
odecの略で、FLACで圧縮されたオーディオは品質が劣化しないことを意味します。FLACは、最も高速で広くサポートされているロスレスオーディオコーデックとして際立っており、非プロプライエタリで特許の制約を受けません。
オープンソース
, BSD, GPL
LAME
LAMEは高品質なMPEG Audio Layer III(MP3)エンコーダです。
LGPL
libsndfile
サンプリングされた音声を含むファイル(WAV、AIFFなど)を標準ライブラリインターフェースを通じて読み書きするCライブラリ(C++ラッパー付き) (
ソース
)
LGPL-2.1
cmake, make, vcpkg
minimp3
ミニマルなMP3デコーダ
CC0-1.0
ヘッダーのみ
Opus
完全にオープンで、ロイヤリティフリー、非常に多用途なオーディオコーデック
BSD
cmake
Vorbis
Ogg Vorbisは、完全にオープンで、非プロプライエタリ、特許およびロイヤリティフリーの汎用圧縮オーディオフォーマットです。
BSD
cmake
タグ付け
ライブラリ
説明
ライセンス
設定
id3lib
ID3v1およびID3v2タグの読み取り、書き込み、操作、およびビットレートなどの基本的なmp3ヘッダー情報の取得を行うためのオープンソースのクロスプラットフォームライブラリ。ただし、現在は
taglib
への移行を推奨します :)
LGPL v2
taglib
TagLib Audio Metadata Libraryは、複数の一般的なオーディオ形式のメタデータを読み取り・編集するためのライブラリです:MP3ファイルのID3v1、ID3v2、Ogg Vorbisコメント、およびFLAC、MPC、Speex、WavPack、TrueAudio、WAV、AIFF、MP4、ASFファイルのID3タグとVorbisコメント。(
ソース
)
LGPL
および
MPL v1.1
ベンチマーキング
ライブラリ
説明
ライセンス
設定
benchmark
コードスニペットをベンチマークするライブラリ。単体テストと同様
Apache 2.0
cmake
Celero
機能豊富なC++ベンチマーク作成ライブラリ/フレームワーク。C++11を使用してWindows、Linux、OSXをサポート
Apache
cmake
Criterion
現代的なC++のためのマイクロベンチマークライブラリ
MIT
header-only; cmake
gperftools
'Google Performance Tools'には、高性能なマルチスレッドmalloc実装に加えて、ヒープ割り当てとCPU使用率のベンチマークツールが含まれます
BSD 3-Clause "New" or "Revised"
configure
nanobench
C++11/14/17/20のためのシンプルで高速かつ正確なシングルヘッダーのマイクロベンチマーク機能 (
Src
)
MIT
header-only; cmake
picobench
極小のマイクロベンチマークライブラリ
MIT
header-only; cmake
plf::nanotimer
ベンチマークのための最低オーバーヘッドのクロスプラットフォームシンプルタイマークラス
zlib
header-only
コミュニケーション
ライブラリ
説明
ライセンス
設定
ACE
非同期ネットワーキング、イベント多重分離、メッセージング (
ソース
) (
ドキュメント
)
カスタム
make
Apache Thrift
Apache Thriftソフトウェアフレームワークは、スケーラブルなクロスランゲージサービス開発のためのもので、ソフトウェアスタックとコード生成エンジンを組み合わせて、C++、Java、Python、PHP、Ruby、Erlang、Perl、Haskell、C#、Cocoa、JavaScript、Node.js、Smalltalk、OCaml、Delphiおよびその他の言語間で効率的かつシームレスに動作するサービスを構築します。 (
ソース
)
Apache-2.0
cmake, vcpkg
Boost.Asio
非同期および同期ネットワーキング、タイマー、シリアルI/O
BSL-1.0
Boost.Beast
Boost.Asioを基盤としたHTTPおよびWebSocketライブラリ
BSL-1.0
Breep
イベントベースの高レベルピアツーピアライブラリで、ユーザーが直接オブジェクトの送受信を可能にします。
European Union Public License 1.1
cmake
brpc
Baidu全体で使用されている産業グレードのRPCフレームワーク、1,000,000+インスタンスと数千種類のサービスで運用されています。 (
ソース
) (
ドキュメント
)
Apache 2.0
cmake
C++ REST SDK
非同期HTTPクライアントおよびリスナー、非同期ストリーム、URI、JSON
MIT
cmake
cpp-httplib
C++11 シングルファイル ヘッダーのみのクロスプラットフォーム HTTP/HTTPS ライブラリ
MIT
ヘッダーのみ; cmake
cpp-netlib
C++ ネットワークライブラリ
BSL-1.0
cmake
cppsimpleuri
モダンなC++ URI & クエリパーサー
MIT
cmake
cpr
モダンなC++ HTTPリクエストライブラリ
MIT
cmake
Crow
C++マイクロWebフレームワーク (Python Flaskにインスパイア)
BSD-3-Clause
header-only; cmake
curlpp
libcURL (CURLライブラリ) のためのC++ラッパー。 (
ソース
)
cmake, vcpkg
DumaisLib
Webサーバー、JSON、WebSocketサーバー、RESTフレームワーク(C++アプリケーションでREST APIを作成するためのライブラリ)などの様々なユーティリティ
MIT
make
EasyHttp
使いやすさと速度に重点を置いたクロスプラットフォームHTTPクライアントライブラリ。HTTPレスポンスキャッシュなどをサポート。
MIT
cmake
eCAL
高性能なプロセス間通信ライブラリ
Apache 2.0
cmake
fineftp-server
WindowsおよびUnix向けのFTPサーバーライブラリ
MIT
cmake
FPNN
F
高速
P
プログラマブル
N
ネクサス
N
ネットワーク。高性能完全非同期RPCサービスフレームワーク。HTTP、WebSocket、TCP、信頼性のあるUDPを同時サポート。超高負荷サーバーの開発をサポートし、対応するクライアントSDKを提供。
未知
make
gRPC
あらゆる環境で動作するモダンなオープンソースの高性能RPCフレームワーク。(
ソース
) (
ドキュメント
)
Apache-2.0
bazel, cmake, vcpkg
gsoap
XMLデータバインディングのためのC/C++開発ツールキット、高速なWSDL/SOAP/XML Webサービス、WS-Security、JSON/XML-RPC RESTfulサービス
GPLv2
hmbdc
軽量で高性能なC++17メッセージpub/subミドルウェアフレームワーク/ライブラリ
ヘッダーのみ
HTTPP
Boostを基盤としたシンプルでC++14準拠のプロダクションレディなHTTPサーバーと、libcurlを基盤としたクライアント。
BSD 2-Clause "Simplified"
cmake, make
IXWebSocket
依存関係のないオープンソースのWebSocket + HTTPライブラリ、SSLおよびメッセージごとのdeflate WebSocket拡張をサポート
BSD 3-Clause "New" or "Revised"
cmake, make
KCP
高速で信頼性の高いARQプロトコルで、アプリケーションのネットワーク遅延を低減します。
MIT
cmake
libashttp
非同期HTTPクライアントライブラリ
GNU Lesser General Public v3.0
libjson-rpc-cpp
C++向けのクロスプラットフォームJSON-RPC(リモートプロシージャコール)サポートを提供するフレームワークで、完全にJSON-RPC 2.0 & 1.0互換です。
MIT
cmake, conan
libnavajo
C++フレームワークで、高速なマルチスレッドHTTPサーバー、HTML5 WebSocket、SSL、X509およびHTTP認証、圧縮、Cookie、高度なセッション管理、IPv4およびIPv6をサポート(CeCILL-C)。
CeCILL-C フリーソフトウェアライセンス契約
cmake
libtins
ネットワークパケット作成・スニッフィングライブラリ (
ソース
) (
ドキュメント
)
BSD-2
cmake, vcpkg
LiteNetLibPP
ゲーム用の軽量で信頼性の高いUDPライブラリ
MIT
cmake
mailio
MIMEおよびメールライブラリ
BSD 2条項「Simplified」ライセンス
cmake
nanomsg
高速メッセージキュー、zeromqの後継
netif
Windows、Linux、macOS、FreeBSDでネットワークアドレスを取得するためのC++14ライブラリ。
BSD 3-Clause "New" or "Revised"
header-only; cmake
nghttp2
HTTP/2 Cライブラリおよびツール(サーバー、クライアント、プロキシ、ベンチマーキングツール)
MIT
cmake, configure
ngrest
高速で使いやすいJSON RESTful Webサービスフレームワーク
Apache 2.0
cmake
nng
高速メッセージキュー、nanomsgの後継
Oat++
Webフレームワーク: REST-APIおよびリクエスト実装 (
Src
) (
Doc
)
Apache 2.0
cmake
omniORB
C++で実装された最速、完全かつ移植性の高いCORBA ORB実装
OpenDDS
DDS (Data Distribution Service) 実装
Paho MQTT
EclipseによるMQTT用のモダンなC++クライアント
cmake
paozhu
C++20 Webフレームワーク、HTTP/2、ORM、WebSocketをサポート
MIT
cmake
PcapPlusPlus
マルチプラットフォームC++ネットワークスニッフィングおよびパケット解析・構築フレームワーク。libpcap、Npcap、WinPcap、DPDK、AF_XDP、PF_RINGなど、多くの一般的なパケット処理エンジンに対するC++ラッパーを提供します。(
ソース
)
Unlicense
conan, homebrew, cmake, vcpkg
POCO
ネットワーキング: 暗号化、HTTP; Zipファイル (
ドキュメント
)
rest_rpc
C++11、高性能、クロスプラットフォーム、使いやすいRPCフレームワーク。
MIT
cmake
restbed
C++14アプリケーションに非同期RESTful機能(HTTPを介した安全な通信)をもたらす、クロスプラットフォームの機能豊富なフレームワーク。
ライセンス
cmake
restc-cpp
C++からJSON APIにアクセス。HTTPクライアント、ネイティブC++クラスとJSON間のシリアライゼーション、boost::asioコルーチンによる非同期I/O。C++14。
MIT
cmake
restful_mapper
C++におけるRESTful JSON APIを利用するためのORM
cmake, make
seastar
C++14/C++17ベースの高性能サーバーサイドアプリケーションフレームワーク。
Apache 2.0
cmake, etc.
Silicon
Silicon C++14 Web フレームワーク: 高速かつ堅牢な Web API
MIT
cmake
sockpp
シンプルでモダンなC++ソケットライブラリ
BSD 3条項「New」または「Revised」ライセンス
cmake
stream-client
Boostベースの軽量なクライアントサイドソケット/コネクタ/ソケットプール/リゾルバ
Apache 2.0
ヘッダーのみ; cmake
tacopie
C++11 TCPライブラリ
MIT
cmake
TAO
CORBA
**翻訳結果:**
TAO
CORBA
**説明:**
- HTMLタグ、属性、、、タグ内のテキストは翻訳していません
- "TAO" と "CORBA" はC++/ソフトウェア開発の専門用語(TAO: The ACE ORB, CORBA: Common Object Request Broker Architecture)のため、翻訳せずに保持しています
- 元のフォーマットと構造を完全に保持しています
taox11
C++11ベースのCORBA実装
MIT
Unicomm
非同期ネットワーキング、高レベルTCP通信フレームワーク
uvw
C++17における
libuv
(クロスプラットフォーム非同期I/O)ラッパー
MIT
ヘッダーのみ; cmake
WNetWrap
C++によるWinInetラッパー
MIT
wvstreams
C++ネットワーキングライブラリ。UniConfと便利なD-Bus APIを含む
GPL
zeromq
高速メッセージキュー
並行性
ライブラリ
説明
ライセンス
設定
AdaptiveCpp
NVIDIA、AMD、IntelのCPUおよびGPU向けのSYCLおよびC++並列STLオフローディングコンパイラとランタイムシステムを提供
BSD-2-Clause
cmake
Asyncpp
様々な並行操作を提供する非同期C++ライブラリ
MIT
cmake
BlockingCollection
C++11 スレッドセーフ、マルチプロデューサー、マルチコンシューマー ブロッキングキュー、スタック & 優先度付きキュー クラス
GPL-3.0
ヘッダーのみ
Boost.Atomic
アトミックデータ型とこれらのデータ型に対する操作、およびアトミック変数を通じて複数のスレッドを調整するために必要なメモリ順序制約を提供します。
BSL-1.0
Boost.Compute
C++向けのOpenCLベースのGPU/並列コンピューティングライブラリ。
BSL-1.0
cmake
Boost.Context
C++11ライブラリで、単一スレッド上での協調的マルチタスク抽象化を提供します。
BSL-1.0
Boost.Interprocess
プロセス間通信と同期メカニズムの使用を簡素化し、幅広い機能を提供します:共有メモリ、メモリマップトファイル、セマフォ、ミューテックス、条件変数とアップグレード可能なミューテックスタイプ、同期オブジェクトの名前付きバージョン、ファイルロック、メッセージキュー。
BSL-1.0
Boost.Lockfree
ノンブロッキング(ロックフリーとも呼ばれる)並行データ構造を提供します:キュー、スタック、およびリングバッファ(spsc_queue)。
BSL-1.0
Boost.MPI
標準的な
Message Passing Interface
に対するC++フレンドリーなインターフェース
BSL-1.0
Boost.Thread
共有データを持つ複数の実行スレッドの使用と、スレッド間でのデータ同期の手段を可能にします。
BSL-1.0
concurrencpp
C++のためのモダンな並行処理。タスク、エグゼキューター、タイマー、C++20コルーチン。
MIT
cmake
dispenso
C++向けの高性能並行処理ライブラリ。parallel_for、Futures、パイプライン、タイマー、時間指定/定期的タスク、並行データ構造。
MIT
cmake
Highway
パフォーマンスポータブルで長さ非依存のSIMD/ベクトル組み込み関数を提供します。対応: SSE3, SSE4, AVX*, NEON, SVE*, WASM SIMD, RISC-V, POWER。 (
ドキュメント
)
Apache-2.0
cmake
HPX
あらゆる規模の並列および分散アプリケーションのための汎用C++ランタイムシステム (
ドキュメント
)
BSL-1.0
cmake, vcpkg
Intel TBB
Intel® TBBは、共有メモリ並列プログラミングとヘテロジニアスコンピューティングのためのクロスプラットフォームC++ライブラリです。このライブラリは以下を提供します:汎用並列アルゴリズム、並行コンテナ、スケーラブルメモリアロケータ、ワークスティーリングタスクスケジューラ、および低レベル同期プリミティブ。 (
Src
) (
Doc
)
Apache-2.0
または商用ライセンス
cmake, make
KOKKOS
パフォーマンス移植性の高いHPCアプリケーションを記述するためのプログラミングモデル。バックエンドとしてCUDA、HIP、SYCL、HPX、OpenMP、C++スレッドを使用 (
ドキュメント
)
カスタム
cmake, make
libopenmpi
Open MPIプロジェクトは、オープンソースのMessage Passing Interface実装です
3-clause BSD
libsimdpp
移植性の高いゼロオーバーヘッドのC++低レベルSIMDライブラリ。
Boost
ヘッダーのみ; cmake
MPL
C++17に対応した標準
Message Passing Interface
へのインターフェース
BSD 3条項「New」または「Revised」ライセンス
ヘッダーのみ; cmake
MutexGear
ミューテックスのみを使用する同期C/C++ライブラリ: wheel, rwlock, maintlock, ワークキュー
The MutexGear Library
configure, msvc, make
OpenMP
並列プログラミングのためのOpenMP API仕様
PoCL
OpenCL標準のポータブルで再ターゲット可能なオープンソース(LLVMベース)実装。 (
Src
) (
Doc
)
MIT
cmake
RaftLib
C++17のストリームライクな並行アクターで、並列データフロー計算を可能にする
Apache-2.0
cmake
SObjectizer
C++向けの小さなクロスプラットフォームフレームワークで、アクターモデルとパブリッシュ-サブスクライブモデルを使用した並行処理およびイベント駆動アプリケーションのためのものです。
BSD-3-Clause
cmake, vcpkg, conan
stdgpu
GPU上の効率的なSTLライクなデータ構造
Apache 2.0
cmake
subprocess
C++17/20 クロスプラットフォーム サブプロセス実行ライブラリ
MIT
cmake, teaport
Taskflow
モダンC++における並列タスクプログラミング
TASKFLOW MIT
cmake
task-thread-pool
C++11以降のための高速で軽量なスレッドプール。
BSD-2-Clause または MIT または BSL-1.0
cmake, vcpkg, シングルヘッダー
ThreadPool
シンプルで軽量なスレッドプール
BSD-3-Clause
header-only; cmake, make
thread_pool
モダンで高速、軽量なスレッドプール
MIT
cmake
Thrust
CUDA、TBB、またはOpenMP上でのSTL風の並列アルゴリズムとデータ構造
Apache v2.0, Boost v1.0.
cmake
TimerAlarm
スレッドベースのタイマーとアラーム。
BSD-3-Clause
ヘッダーのみ; cmake, make
VexCL
OpenCL、CUDA、OpenMP 向けの C++ ベクトル式テンプレートライブラリ
MIT
cmake
ViennaCL
OpenMP、CUDA、OpenCLバックエンドによる線形代数とアルゴリズム。 (
ソース
) (
ドキュメント
)
カスタム
cmake
Xenium
C++17ライブラリで、様々な並行データ構造とリクレメーションスキームを提供します。
MIT
header-only; cmake
設定
ライブラリ
説明
ライセンス
設定
Boost.Program_options
このライブラリは、コマンドライン、設定ファイル、環境変数などの従来の方法を通じて、ユーザーからプログラムオプション、つまり(名前、値)のペアを取得することを可能にします。
BSL-1.0
figcone
構造体を宣言することでJSON、YAML、TOML、XML、INI設定を読み込む
MS-PL
cmake
gconfmm
人気のあるGUIライブラリGTKのためのクロスプラットフォーム(公式)C++インターフェースで、型安全なコールバックや、継承によって容易に拡張可能な包括的なウィジェットセットを含みます。
gtkmm
はSTLを使用し、
string
s、コンテナ、イテレータを含みます。UTF8をサポートしています。(
ソース
) (
ドキュメント
)
LGPLv2.1
autotools, meson, make
libconfig
構造化された設定ファイル(
"*.cfg"
)を処理するためのシンプルなクロスプラットフォームC/C++ライブラリ(
ソース
) (
ドキュメント
)
LGPL 2.1
autotools, cmake, make
libconfini
Cで書かれたクロスプラットフォームのINIパーサー(
ドキュメント
)
GPL-3.0
autotools, make
uconfig
軽量なC++17設定ライブラリ
Apache 2.0
ヘッダーのみ; cmake
コマンドライン
ライブラリ
説明
ライセンス
構成
Argh!
ミニマリストな引数ハンドラー
BSD 3-Clause
ヘッダーのみ; cmake, vcpkg
argparse (hbristow)
同名のPythonクラスと同様のインターフェースを持つ、スリムなC++コマンドライン引数解析クラス
BSD
argparse (morrisfranken)
洗練された方法でコマンドライン引数を解析する軽量ライブラリ
Apache 2
ヘッダーのみ; cmake
argparse (p-ranav)
C++17向けコマンドライン引数パーサー
MIT
ヘッダーのみ; cmake, vcpkg
args
シンプルなC++引数パーサーライブラリ
MIT
ヘッダーのみ; cmake, conan, meson, vcpkg
Boost.Program_options
コマンドライン、設定ファイル、環境変数などの従来の方法からプログラムオプション(名前と値のペア)を取得できるライブラリ
BSL-1.0
CLI11
シンプルで直感的なインターフェースと豊富な機能セットを提供するC++11コマンドラインパーサー
BSD-3-Clause
ヘッダーのみ; cmake, meson, vcpkg
clipp
現代的なC++向けの強力で表現力豊かな引数解析
MIT
ヘッダーのみ; cmake, vcpkg
cmd_line_parser
C++17向けコマンドラインパーサー
MIT
ヘッダーのみ; cmake
cmdlime
簡潔で宣言的なインターフェースを提供し、サブコマンド、バリデータ、GNU/POSIX/X11コマンドラインオプション形式の選択をサポートするC++17コマンドライン解析ライブラリ
MS-PL
cmake
cxxopts
標準的なGNUスタイルのオプション構文をサポートする軽量なC++11/C++17コマンドライン引数パーサー
MIT
ヘッダーのみ; bazel, cmake
fire-hpp
関数シグネチャを使用して完全な機能を持つCLIを作成
BSL-1.0
ヘッダーのみ; cmake
flags
シンプルで拡張可能なC++17引数パーサー
Unlicense
ヘッダーのみ; cmake
gflags
コマンドラインフラグ処理を実装するライブラリ。文字列などの標準型の組み込みサポートと、使用されるソースファイルでフラグを定義する機能を含む
BSD
cmake
structopt
構造体を定義してコマンドライン引数を解析
MIT
ヘッダーのみ; cmake
tclap
コマンドライン引数を解析するためのシンプルなC++テンプレートライブラリ。シンプルで柔軟なオブジェクト指向インターフェースを提供
MIT
cmake
CSS
ライブラリ
説明
ライセンス
設定
mycss
CSS Parser
HOCON
ライブラリ
説明
ライセンス
設定
cpp-hocon
Puppletによって開発されたHOCONフォーマットのC++実装
JSON
ライブラリ
説明
ライセンス
設定
ArduinoJson
Arduino、IoTおよび組み込みC++向けのC++98/11/14/17 JSONライブラリ
MIT
cmake
Boost.JSON
C++11/17におけるJSONの解析、シリアライゼーション、およびDOM
BSL-1.0
cajun-jsonapi
JSON用のC++ APIで、標準C++に可能な限り近い直感的で簡潔なインターフェースを重視しています。
make
DAW JSON Link
C++17ライブラリで、型チェックを備えた静的なC++バインディングを提供し、ライブラリの割り当てなしでユーザーデータ構造に直接パースすることが可能。プッシュ/プルモード、アロケータサポート、constexpr対応
BSL 1.0
cmake
Glaze
直接メモリシリアライゼーションを備えた最速のJSONライブラリ(C++23)の一つ。BEVEおよびCSVもサポート。
MIT
cmake, conan, build2, vcpkg
jansson
UTF-8サポートを備えたJSONデータのエンコード、デコード、操作のためのCライブラリ
MIT
cmake, make
jeayeson
非常に実用的なC++14 JSONライブラリ
BSD-3
ヘッダーのみ
jios
JSON入出力ストリーム
MIT
cmake
HTMLタグ、属性、タグ内のテキスト、C++固有の用語は翻訳せず、元のフォーマットを保持しました。「JSON Input Output Streams」を「JSON入出力ストリーム」と正確に翻訳しました。
JOST
**翻訳結果:**
JOST
**説明:**
- HTMLタグ、属性、、、タグ内のテキストは翻訳していません
- C++固有の用語(JOSTはプロジェクト名/略称と思われるため)は翻訳していません
- 元のフォーマットを完全に保持しています
- 翻訳対象のテキストが存在しないため、出力は入力と同じになります
json
Niels Lohmann JSON for C++11、直感的な構文を特徴とする
MIT
ヘッダーのみ; bazel, cmake, meson
Jsonifier
極めて高速なJSON解析/シリアライズのためのいくつかのC++20クラス
MIT
cmake
JSON Voorhees
C++11向けのキラーJSON (
ドキュメント
)
Apache-2.0
cmake
JSON++
**注記**: このHTMLコードでは翻訳すべきテキストがほとんど含まれていません。唯一のテキスト要素「JSON++」はC++関連のライブラリ名であり、翻訳対象外です。そのため、元のHTMLは変更せずにそのまま保持されます。
json11
C++11用の軽量JSONライブラリで、JSONの解析とシリアライゼーションを提供します。
MIT
cmake
JsonBox
JSONを簡単かつ高速に読み書きするためのC++ライブラリ。
MIT
cmake
jsoncons
JSONおよびJSONライクなデータフォーマットのためのライブラリ。JSON Pointer、JSON Patch、JSONPath、CSV、MessagePack、CBOR、BSON、UBJSONをサポート。
Custom
header-only
jsoncpp
JSON値を操作するためのライブラリで、コメントを保持しながらシリアライゼーションとデシリアライゼーションを含む機能を提供します。
MIT
cmake, conan, vcpkg
libjson
**翻訳結果:**
libjson
**説明:**
- HTMLタグ、属性、`libjson`(C++ライブラリ名)は翻訳対象外
- 翻訳すべきテキストが存在しないため、元のHTML構造をそのまま保持
- フォーマットと空白文字を完全に維持
minijson
C++ DOMレスおよびアロケーションフリーのJSON解析およびシリアライゼーション
カスタム
cmake
Neyson
軽量 C++11 JSON ライブラリ
BSD-3-Clause
cmake
nosjob
JSONデータの生成と消費のためのC++98ライブラリ
MIT
make
qjson
**注記**: 提供されたHTMLコードには翻訳すべきテキストコンテンツがほとんど含まれていません。唯一のテキスト要素「qjson」はC++ライブラリ名であり、翻訳対象外と判断しました。HTMLタグ、属性、および構造はすべて元のまま保持されています。
rapidjson
C++用の高速なJSONパーサー/ジェネレーターで、SAX/DOMスタイルのAPIを備え、UTF-8/16/32をサポートし、オプションでSIMDを使用します。 (
ドキュメント
)
カスタム
ヘッダーのみ; cmake, vcpkg
simdjson
現代のマイクロアーキテクチャを活用し、SIMDによる並列化で1秒あたりギガバイト単位のJSONを解析 (
論文
) (
動画
)
Apache-2.0
cmake, vcpkg
struct_mapping
JSONとC++構造体間のマッピング
MIT
cmake
swxJson
現在使用されている最も便利なC++ JSONライブラリ。たった1つの関数呼び出しで任意のレベルの複雑な構造を読み書きできます。パフォーマンスはRapidJSONの約半分です。
MIT
make
ThorsSerializer
JSON/BSON/YAML 入力出力ストリーム
MIT
make
**翻訳説明:**
- "ThorsSerializer" は固有名詞(プロジェクト名)のため翻訳せず
- "JSON/BSON/YAML Input Output Streams" を「JSON/BSON/YAML 入力出力ストリーム」と翻訳
- "MIT" はライセンス名のため翻訳せず
- "make" はビルドツール名のため翻訳せず
- HTMLタグ、属性、書式は完全に保持
- C++関連用語は翻訳せず
ujson
µjsonは、小規模なC++11、UTF-8、JSONライブラリです
cmake
yyjson
ANSI Cで書かれた高性能JSONライブラリ
MIT
cmake
TOML
ライブラリ
説明
ライセンス
設定
toml++
C++17以降のためのTOMLパーサーおよびシリアライザー
toml11
C++11ベースのTOML解析ライブラリ
XML
ライブラリ
説明
ライセンス
設定
ai-xml
クラスに単一の最小限の関数を追加することで、オブジェクトをXMLとの間でシリアライズします。内部では
libxml++
を使用しています。
AGPL-3.0
make
GPDS
オブジェクトをXMLとの間でシリアライズするための汎用データシリアライザー。内部ではTinyXMLを使用しています。
gSOAP
XMLデータバインディング
libxml++
libxml++はlibxml XMLパーサーCライブラリのC++ラッパーです。(
ドキュメント
)
LGPL-2
pugixml
XPathサポートを備えた、軽量でシンプルかつ高速なC++用XMLパーサー
MIT
cmake, conan
tinyxml
tinyxml2
TinyXMLの別バージョンで、開発が進行中です。
Xerces
YAML
ライブラリ
説明
ライセンス
設定
yaml-cpp
C++でのYAMLパーサーとエミッター
MIT
cmake
コンテナ
ライブラリ
説明
ライセンス
設定
Boost.Bimap
双方向マップライブラリで、
bimap<X,Y>
のような連想コンテナを提供し、
X
と
Y
の両方をキーとして使用できます。 (
Src
)
BSL-1.0
Boost.Container
stdlib風のコンテナに加えて、再帰的コンテナや新規有用なコンテナを実装するライブラリ:
flat_map
,
flat_set
,
flat_multimap
,
flat_multiset
,
stable_vector
,
static_vector
,
small_vector
,
devector
. (
ソース
)
BSL-1.0
ヘッダーのみ
Boost.Fusion
異種コレクションの
タプル
を扱うためのライブラリ。コンテナ(
vector
、
list
、
set
、
map
)のセットと、それらの基盤データの変換された表現、別名
ビュー
を提供します。" (
Src
)
BSL-1.0
Boost.Heap
stdlibが持つものよりも多くの機能と異なるパフォーマンス特性を備えた
優先度付きキュー
の実装。 (
Src
)
BSL-1.0
Boost.Pointer Container
例外安全性を保ち、最小限のオーバーヘッドで
ヒープ割り当てオブジェクト
を保持するコンテナを提供します。 (
ソース
)
BSL-1.0
Boost.Tuple
C++11以前のn-
tuple
を実装(固定サイズの要素コレクション) (
ソース
)
BSL-1.0
Boost.Variant
C++17以前の
variant
を実装(安全で汎用的なスタックベースの判別共用体コンテナ) (
ソース
)
BSL-1.0
C++ Allocators
固定サイズの静的およびスタックベースメモリ用の標準ライブラリ準拠アロケータ + カスタム境界割り当てを可能にする別の準拠アロケータ
BSD-3-Clause
cmake, make
cpp-btree
B-treeコンテナはCPUキャッシュをより効率的に利用します:
btree_map
,
btree_set
,
btree_multimap
,
btree_multiset
. (
ソース
)
Apache-2.0
ヘッダーのみ; cmake
DataFrame
統計分析、金融分析、機械学習分析のためのC++ DataFrame -- モダンなC++を使用し、ネイティブ型と連続メモリストレージを採用
BSD-3-Clause
cmake, make, conan, vcpkg
eggs::variant
Eggs.VariantはC++11/14/17のジェネリックで型安全な判別共用体です。特に非常に優れた
constexpr
サポートを備えている点で注目されています。
BSL-1.0
cmake
Frozen
C++14
constexpr
完全ハッシュベースの不変セット、マップ、およびアルゴリズム。
Apache-2.0
ヘッダーのみ; cmake
Immer
永続的かつ不変のデータ構造ライブラリ
Boost
cmake
plf::colony
順序付けされていない「バッグのような」コンテナで、挿入や削除に関わらず消去されていない要素への有効なポインタを維持しながら、高変更シナリオにおいて
std::
コンテナよりも優れたパフォーマンスを発揮します。C++98/11/14/etc互換。
P0447
(
std::hive
) も参照してください。(
ソース
)
zlib
conan
build2
plf::list
std::list
の実装で、範囲スプライシングを犠牲にしてキャッシュフレンドリー性を優先し、より高速な挿入、削除、反復処理を実現。C++98/03/11/14/17/20/23/26/etc互換。 (
ソース
) (
ドキュメント
)
zlib
—
plf::reorderase
ランダムアクセスコンテナの「swap-and-pop」/「move-and-pop」イディオムを拡張および最適化し、削除後の順序が重要でない場合のランダムアクセスコンテナの削除パフォーマンスを向上させる。std::erase_ifスタイルの単一、範囲、および削除をカバー。C++98/11/14/etc互換。(
ソース
)
zlib
plf::queue
std::queue
コンテナアダプタのドロップイン代替コンテナで、
std::deque
および
std::list
よりもキューコンテキストでのパフォーマンスが優れています。C++98/11/14/etc互換。 (
ソース
)
zlib
plf::stack
std::stackコンテナアダプタのドロップイン置換コンテナで、
std::stack
コンテキストにおいて
std::vector
および
std::deque
よりも優れたパフォーマンスを発揮します。C++98/11/14/etc互換。(
ソース
)
zlib
ring_span
Arthur O'Dwyerの
ring_span
の軽量実装。別名:循環バッファビュー。C++98互換。
BSL-1.0
ヘッダーのみ; cmake
strict_variant
リアルタイム/組み込み向け(つまり
-fno-exceptions
/
-fno-rtti
互換)の、決して空にならない
variant
。C++11を対象とした高速な実装で、多くの望ましくない暗黙的変換を防止します。
BSL-1.0
cmake
tiny::optional
std::optional
の代替実装で、センチネル値を使用してメモリストレージのオーバーヘッドを排除します。
BSL-1.0
cmake
Ygg
高パフォーマンスなコンテナとデータ構造の侵入型C++11実装。例えば
赤黒木
、
区間木
、および区間マップを含む。
MIT
ヘッダーのみ; cmake
暗号学
ライブラリ
説明
ライセンス
構成方法
Botan
暗号化ツールキット (
ソース
)
BSD 2-Clause "Simplified"
make
crypto++
暗号スキームのフリーC++クラスライブラリ (
ソース
)
Boost
make
gnutls
SSL、TLS、DTLSプロトコルおよび関連技術を実装した安全な通信ライブラリ (
ソース
)
LGPL-2.1
make
openssl
堅牢で商用グレードの多機能な汎用暗号化および安全な通信ツールキット (
ソース
)
Apache-2.0
make
TomCrypt
包括的でモジュール式、移植性の高い暗号化ツールキット。多数の既知ブロック暗号、一方向ハッシュ関数、チェーニングモード、疑似乱数生成器、公開鍵暗号およびその他のルーチンを提供 (
ソース
)
public domain
cmake, make
データベース
ライブラリ
説明
ライセンス
設定
Boost::MySQL
MySQLクライアントライブラリ
BSL-1.0
cpp-redis
C++11 軽量Redisクライアント: 非同期、スレッドセーフ、依存関係なし、パイプライン処理、マルチプラットフォーム対応。 (
ドキュメント
)
MIT
cmake
DTL
ODBCレコードセットをSTLコンテナのように見せる (
Src
) (
Doc
)
EasyQtSql
軽量なC++11(Qtベース)ライブラリで、迅速かつ容易なSQLクエリ実行を実現
MIT
header-only; qmake
Galera
Galera Clusterは、MySQL/MariaDB向けの同期マルチマスター複製ライブラリ(Galera)およびWrite Set Replication(WSREP)APIです(
Src
)
GPLv2
cmake, scons
LevelDB
Googleによって開発されたC++ライブラリで、ビリオンスケールのKey-Valueデータ永続化ストレージを扱います。(
ドキュメント
)
BSD-3
cmake
libpqxx
PostgreSQL用C++コネクタ (
Src
)
BSD-3
cmake, make
lmdb++
LMDB 組み込み B+ ツリーデータベースライブラリの C++11 ラッパー。
Unlicense
make
mongocxx
MongoDB向けの公式C++11ドライバライブラリ (
ドキュメント
)。CRUD操作、インデックス作成、集計処理向けに最適化されたAPIを提供します。BSONをサポートし、コネクションプーリングと認証メカニズムを備えており、MongoDBを活用するC++アプリケーション構築のための高性能でスケーラブルなソリューションを提供します。
Apache 2.0
cmake
mysql++
MySQL データベースとツール
nanodbc
ネイティブC ODBC API用の小型でクロスプラットフォームなC++14ラッパー
MIT
cmake
ODB
オープンソースのクロスプラットフォーム、クロスデータベースのC++用オブジェクトリレーショナルマッピング(ORM)システム。ODBはMySQL、SQLite、PostgreSQL、Oracle、Microsoft SQL Serverのリレーショナルデータベース、およびC++98/03とC++11言語標準をサポートしています。
GPL2 および/または NCUEL
OTL
Oracle DB、ODBC、DB2-CLI用のC++テンプレートベースのデータベースライブラリ。 (
ソース
)
Pgfe
モダンなC++によるPostgreSQLクライアント(フロントエンド)API
Zlib
cmake
QTL
MySQL、SQLite、ODBC向けの使いやすく軽量なC++データベースライブラリ。
Apache-2.0
make
QUINCE
QU
クエリ
IN
C
++
E
式 (ORM+EDSL)
Boost
QxOrm
C++/Qt向けの
O
bject
R
elational
M
apping (ORM) データベースライブラリ。主要なデータベースをサポートし、シリアライゼーション(JSON、バイナリ、XML)に対応。スタンドアロンのマルチスレッドHTTPウェブサーバーを内蔵
GPLv3 または プロプライエタリ
redis-cpp
Redisコマンドを実行するための軽量なC++17クライアントライブラリ。
MIT
header-only; cmake
redis-plus-plus
C++ 11で書かれたRedisクライアントで、Redis Sentinel、Redis Cluster、パイプライン、トランザクション、pubsub、コネクションプール、STLライクなインターフェースをサポート
Apache-2.0
cmake
SOCI
プラグインベースのデータベースライブラリで、通常のC++コードにSQLクエリを埋め込む。サポートされるバックエンドには以下が含まれる:DB2、Firebird、MySQL、ODBC(汎用バックエンド)、Oracle、PostgreSQL、SQLite3。(
ソース
) (
ドキュメント
)
Boost
cmake
SQLAPI++
複数のSQLデータベースシステムをサポートするミドルウェアC++データベースライブラリ:Oracle、SQL Server、DB2、Sybase、MySQL、PostgreSQL、SQLite、Informix、InterBase / Firebird、SQLBase、SQL Anywhere、ODBC、MariaDB。 (
ソース
) (
ドキュメント
)
カスタム
make
SQLiteCPP
軽量で使いやすいC++ SQLite3ラッパー。
MIT
cmake, meson, vcpkg
SQLite ORM
SQLiteによって理解されるSQLのための、現代的なC++向けの
E
mbedded
D
omain-
S
pecific
L
anguage (EDSL)。
AGPL-3.0, MIT
header-only; cmake, vcpkg
sqlpp11
C++におけるSQLクエリと結果のための型安全な組み込みドメイン固有言語。
BSD-2
cmake
taoPQ
軽量なC++17 PostgreSQLクライアントライブラリ
Boost
cmake
組込み言語バインディング
ライブラリ
説明
ライセンス
設定
AngelScript
C++に似たスクリプト言語
ZLib
ChaiScript
C++向けの使いやすい組み込みスクリプト言語
BSD-3-Clause
cling
対話型C++インタープリター。ClangとLLVM上に構築され、RAD、スクリプト作成、組み込みスクリプト、ランタイムコード生成を実現(
Src
)
カスタム
/ LGPL
cmake
ExprTk
シンプルで使いやすく、統合が容易で非常に効率的な実行時数学式パーサーおよび評価エンジン。ExprTkは多数の関数型、論理型、ベクトル処理セマンティクスをサポートし、拡張性が非常に高い
Jinx
ビデオゲーム向けに設計されたスクリプト言語
MIT
cmake
spidermonkey.dev
MozillaのJavaScriptおよびWebAssemblyエンジン
muparser
拡張性の高い高性能数学式パーサーライブラリ(C++記述)
BSD-2-Clause
cmake
PythonQt
Qtフレームワーク向けの動的Pythonバインディング。C++ QtアプリケーションにPythonスクリプト言語を簡単に組み込む方法を提供
LGPL 2.1
lua
主に組み込み用途向けに設計された軽量マルチパラダイムスクリプト言語。Cライブラリ
MIT
make
sol2
LuaへのモダンなC++ライブラリバインディング
MIT
ヘッダーのみ; cmake
v8pp
C++関数とクラスをV8 JavaScriptエンジンにバインド
BSL-1.0
ヘッダーのみ; cmake
組込み/リアルタイム
ライブラリ
説明
ライセンス
設定
distortos
マイクロコントローラ(ARM、STM32)向けのオブジェクト指向C++11 RTOS(
ソース
)(
ドキュメント
)
MPL-2.0
cmake
ETL
E
mbedded
T
emplate
L
ibrary - C++03、低リソース(組み込み)プラットフォーム向けに調整されたポータブルテンプレートライブラリ(
ソース
)
MIT
QP/C++
RTOSカーネル:アクティブオブジェクトとステートマシンに基づくリアルタイム組み込みフレームワーク
GPLv3
µcuREST
マイクロコントローラ向けC++11 REST/JSONサーバーフレームワーク
ファイルメタデータ
財務計算
ライブラリ
説明
ライセンス
設定
DataFrame
統計、金融、機械学習分析のためのC++ DataFrame -- ネイティブ型と連続メモリストレージを使用したモダンなC++
BSD-3-Clause
cmake, make, conan
QuantLib
定量金融ライブラリ - 定量金融のためのフリー/オープンソースライブラリ
modified BSD
ゲームエンジンアーキテクチャ
ライブラリ
説明
ライセンス
構成方法
Anax
オープンソースのC++エンティティシステム
MIT
cmake
Anura
フル機能のゲームエンジンであり、
Frogatto & Friends
の基盤技術
カスタム
オープンソース
make, vcpkg
BOX2D
物理エンジン
MIT
cmake
EntityPlus
C++17 エンティティコンポーネントシステム
BSD-1.0
cmake
EntityX
高速で型安全なC++エンティティコンポーネントシステム
MIT
cmake
EnTT
モダンC++で書かれたゲーム開発用軽量ライブラリ
MIT
ヘッダーのみ; cmake, bazel, conan, vcpkg, brew, cppget
一般マルチメディア
ライブラリ
説明
ライセンス
設定
Kigs-framework
モジュラー式の多目的クロスプラットフォームフレームワーク
MIT
openFrameworks
MIT
SDL
S
imple
D
irectMedia
L
ayer: クロスプラットフォーム(Windows、macOS、Linux、iOS、Androidなど)で、プラットフォームのグラフィックスAPI(OpenGL/Direct3D/Metal/Vulkan)を介してオーディオ、キーボード、マウス、ジョイスティック、グラフィックスハードウェアへの低レベルアクセスを提供(
Doc
)(
Src
)
zlib
cmake
SFML
S
imple and
F
ast
M
ultimedia
L
ibrary; マルチプラットフォーム(Windows、Linux、macOS、近日Android & iOS対応予定);ゲームおよびマルチメディアアプリケーションの開発を容易にするシンプルなインターフェースを提供。システム、ウィンドウ、グラフィックス(OpenGL上)、オーディオ、ネットワークの5つのモジュールで構成
zlib/png
cmake
SIGIL
S
ound,
I
nput, and
G
raphics
I
ntegration
L
ibrary; テキスト、図形、入力、オーディオ、2D画像のためのシンプルでクロスプラットフォームなミニマリストライブラリ。対応プラットフォーム:Windows、Linux、Raspberry Pi
License
cmake
汎用
ライブラリ
説明
ライセンス
設定
Abseil
Google 製の C++ ライブラリコードのオープンソースコレクションで、C++ 標準ライブラリを補完するように設計されています。(Doc ) (Src )
Apache-2.0
cmake
抽象侵入コンテナ
Boost.Intrusive よりも柔軟ですが、STL 互換ではありません。
Au
依存関係のない C++14 互換の物理単位ライブラリで、安全性、アクセシビリティ、パフォーマンスに重点を置いています。(Doc )
Apache 2.0
ヘッダオンリー
BDE
Bloomberg L.P. による Bloomberg Development Environment コアライブラリ
Apache
Better Enums
constexpr サポート付きのリフレクティブ列挙型 (enum から文字列、反復など)。
BSD-2
ヘッダオンリー, cmake, make
bitfield.h
ビットフィールド構造機能。基本言語機能よりも移植性/柔軟性が高い。
Boost
汎用ライブラリの大規模なコレクション
BSL-1.0
CAF
C++ Actor Framework (CAF) は、軽量&高速なアクター実装、メッセージのパターンマッチング、ネットワーク透過なメッセージングなどを備えたオープンソースの C++11 アクターモデル実装です。
BSD
Cinder
コミュニティ開発の、プロフェッショナル品質のクリエイティブコーディングのための無料オープンソース C++ ライブラリ。(Doc ) (Src )
修正 BSD
cmake
CommonPP
プロジェクトからメトリクスを取得することに重点を置いた多目的ライブラリ。
BSD
composite_op.h
基本的なクラスデータメンバイントロスペクション。煩雑で多くの場合非再入可能ですが、時に有用です。
cpp-mmf
POSIX または Windows 用のメモリマップファイルをカプセル化する C++98 ライブラリ
cxxomfort
C++ 機能のバックポート (C++11 から C++03、C++1y 提案から C++11/C++03)。
Dlib
ネットワーキング、スレッド、グラフィカルインターフェース、データ構造、線形代数、機械学習、XML およびテキストパース、数値最適化、ベイジアンネットワーク、その他多数のタスク
Boost
eventpp
コールバック、イベントディスパッチャー、イベントキューのための C++ イベントライブラリ。eventpp を使用すると、シグナルとスロットメカニズム、パブリッシャー/サブスクライバーパターン、またはオブザーバーパターンを簡単に実装できます。
Apache 2.0
fcppt
Freundlich's C++ Toolkit (fcppt) は、より良い型を提供し関数型プログラミングを活用することで一般的な C++ コードを改善することに焦点を当てたライブラリのコレクションです。
Flux
C++20 ranges に類似した、シーケンス指向 プログラミングのためのクロスプラットフォーム C++20 ライブラリ。ただし、配列インデックスを一般化したカーソル に基づく反復モデルを使用します。(Doc )
BSL-1.0
ヘッダオンリー; cmake, vcpkg
Folly
Facebook のオープンソースライブラリ。実用性と効率性を念頭に設計された C++14 コンポーネントのクロスプラットフォームライブラリ。(Doc )
Apache-2.0
cmake, vcpkg
GSL
C++ Core G uidelines S upport L ibrary の実装。Bjarne Stroustrup、Herb Sutter らが C++ Core Guidelines
で推奨しています。MIT
cmake, vcpkg
gsl-lite
ISO C++ Guideline Support Library (GSL) の C++98、C++11 以降向けのバージョン
MIT
ヘッダオンリー
GUL14
DESY による C++14 用汎用ユーティリティライブラリ: 文字列ユーティリティ、統計・数値関数、コンテナ、デバッグ手段など、よく使われるユーティリティ関数と型。(Src )
LGPL-2.1
meson, vcpkg
History
モダンな C++17 Undo/Redo フレームワーク
Unlicense
hspp
Haskell スタイルのプログラミングを C++ にもたらす実験的なライブラリ。
Apache-2.0
ヘッダオンリー
IP-DOS (tm)
IdeaFarm (tm) Piggyback Distributed Operating System: C++ 言語のための汎用プログラミング環境。
プロプライエタリ オープンソース
Open Watcom 2.0
JUCE
広範で成熟したクロスプラットフォーム C++ ツールキット
GPL
Kangaru
C++11 および C++14 向けの依存性注入コンテナ
MIT
Kerbal
現代の STL 機能を以前の標準にバックポート。より多くの機能!より多くの constexpr!
LGPL-3.0
ヘッダオンリー; cmake
libsourcey
高速ネットワーキングとメディアエンコーディングのためのクロスプラットフォーム C++14 ライブラリ。HTTP、WebSockets、TURN、STUN、Symple など。
LGPL-2.1
cmake
LLNL/units
計測単位の操作、単位間の変換、単位と測定値の文字列表現を扱うための実行時 C++ ライブラリ
BSD 3-Clause "New" または "Revised"
cmake
Loki
デザインの C++ ライブラリ。一般的なデザインパターンとイディオムの柔軟な実装を含む。
MIT
make
match(it)
マクロフリーの API を備えた C++17 向け軽量パターンマッチングライブラリ。
Apache-2.0
ヘッダオンリー
nonstd-lite
*-lite リポジトリのリスト (例: span-lite , scope-lite , expected-lite ) で、提案中またはすでに標準化された C++17/20/23 ライブラリ型 (std::span , std::expected など) の C++98/11 実装を含むものです。
BSL-1.0
ヘッダオンリー
nytl
汎用 C++17 ユーティリティテンプレートライブラリ。
BSL-1.0
ヘッダオンリー
OnPosix
POSIX プラットフォーム上で複数の抽象化 (スレッド、ネットワーキング、ロギング、IPC など) を提供する C++ ライブラリ。
Reason
XML、xpath、正規表現、スレッド、ソケット、HTTP、SQL、日時、ストリーム、エンコード/デコード、ファイルシステム、圧縮
GPL
SaferCPlusPlus
ポインタ、int および std::vector を含む、安全でない C++ プリミティブの安全な互換代替品。
Boost
Smart Enum
to_string, from_string およびその他の機能で enum を強化。
BSL-1.0
cmake
The Beman Project
明日の C++ 標準ライブラリを今日! 標準化 が提案されている C++ ライブラリのコレクションで、最新の C++ 提案と一致しています。(Doc )
Apache-2.0
cmake, vcpkg
units
依存関係のない C++14 上に構築されたコンパイル時の次元解析と単位変換ライブラリ
MIT
ヘッダオンリー
Vix.cpp
CLI、ビルドワークフロー、ネットワーキング、パッケージレジストリ統合、および C++ アプリケーション構築のためのモジュラーライブラリを備えたモダンな C++ ランタイムと開発者ツールキット
MIT
cmake, make
yaal
Y et A nother A bstraction L ayer - アルゴリズム、コレクション、任意精度計算、汎用 DSL 文法駆動パーサーなど。
CC BY-ND-NC 4.0
cmake
Yato
コンテナ、範囲、イテレータ、型特性、その他のツール、アクターシステム、型安全な設定インターフェースを実装したモダンな C++(14/17) クロスプラットフォーム STL スタイルで STL 互換のライブラリ。
Apache-2.0
cmake
yomm2
C++17 向けオープンマルチメソッド
Boost
zoolib
ZooLib は機能豊富な C++ ツールキットです。
MIT
GPS
ライブラリ
説明
ライセンス
設定
gpsd
オープンソースのクロスプラットフォーム(Linux/Unix/BSD系、AndroidおよびOS Xを含む)GPS対応ツールセット。GPSデバイス、AIS無線機、その他のナビゲーションセンサー向けのトランスレータおよびレプリケータデーモンなどを含む。
gpsd
は主にC言語とPythonで記述されているが、C++ラッパーも備えている。
gpsd
はモバイル組み込みシステムで広く使用されている。位置情報を利用するすべてのAndroidアプリは間接的に
gpsd
クライアントである。(
ドキュメント
) (
ソース
)
BSD 2-clause
scons
グラフィカルユーザーインターフェース
ライブラリ
説明
ライセンス
設定
Brisk
クロスプラットフォームのC++20モジュラーGUIフレームワーク。リアクティブ機能とスケーラブルなGPUアクセラレーテッドレンダリングを備える。(
ソース
), (
ドキュメント
)
GPL2+/プロプライエタリ
cmake, vcpkg
Dear ImGui
最小限の依存関係で軽量なC++用GUIライブラリ。ポータブルでレンダリング方式に依存せず、3Dパイプライン対応アプリでの使用に最適化されている。
MIT
vcpkg
FLTK
クロスプラットフォームC++ GUIツールキット(Linux、Windows、MacOS)。モダンなGUI機能を提供し、OpenGL/GLUTによる3Dグラフィックスをサポート。小型でモジュラー設計。UIビルダーを含む。
LGPL ver.2
nana
モダンなC++スタイルによるクロスプラットフォームGUIプログラミング。(
ソース
), (
ドキュメント
)
BSL-1.0
cmake, vcpkg
nanogui
OpenGL 3.x以上向けのミニマルなクロスプラットフォームウィジェットライブラリ(
ドキュメント
)
OWLNext
OWL
のモダンなアップデート版。Windows上で標準C++を使用したGUIアプリケーション開発用
Slint
デスクトップ、組み込み、マイクロコントローラ向けのネイティブユーザーインターフェース構築のための宣言的GUIツールキット。(
ソース
), (
ドキュメント
)
GPL 3,
ロイヤリティフリー
, または商用ライセンス
cmake
tiny file dialogs
C/C++用クロスプラットフォームファイルダイアログセット(初期化不要、メインループ不要、6つのモーダル関数呼び出し)
ヘッダーのみ
U++
統合IDEを備えたクロスプラットフォーム(Windows、GNU/Linux、macOS)高速アプリケーション開発フレームワーク。C++17互換。(
ドキュメント
) (
ソース
)
BSD-3-Clause
make
WxWidgets
ネイティブコントロールを使用した高度なGUIアプリケーション開発のためのフリーでオープンソースのクロスプラットフォーム(Windows、GNU/Linux、macOS)C++フレームワーク。(
ドキュメント
)
修正版LGPL
cmake, make
xtd
Windows、macOS、Linux、iOS、Android上でコンソール、GUI、ユニットテストアプリケーションを作成するためのモダンなC++17/20フレームワーク。(
ソース
) (
ドキュメント
)
MIT
cmake
CopperSpice
ライブラリ
説明
ライセンス
構成
CopperSpice
クロスプラットフォームソフトウェアアプリケーションを開発するために使用される一連のC++ライブラリ。現代的な慣用的なC++を使用し、STLとシームレスに統合します。CopperSpiceはQtフレームワークから派生しました。(
ドキュメント
) (
ソース
)
LGPL-2.1
cmake
CsSignal
スタンドアロンのC++スレッド対応シグナル/スロットライブラリ
LGPL-2.1
cmake
CsString
スタンドアロンのC++ Unicode対応文字列ライブラリ
LGPL-2.1
cmake
libGuarded
共有データへのアクセスを管理するためのスタンドアロンC++マルチスレッドライブラリ
LGPL-2.1
cmake
GTK+
Qt
U++
ライブラリ
説明
ライセンス
設定
U++
プログラマーの生産性に焦点を当てたC++クロスプラットフォーム高速アプリケーション開発フレームワーク。GUI、SQLなどのライブラリセットと統合開発環境を含む。(
Src/Bin
)
BSD
upp-components
TerminalCtrl
、
MessageCtrl
などのU++用サードパーティパッケージコレクション
BSD-3-Clause
グラフィックス
ライブラリ
説明
ライセンス
設定
bgfx
強力なクロスプラットフォーム(Windows、Mac、Linux、iOS、Android、Web)2D/3Dグラフィックスレンダリングシェーダー対応ライブラリ。レンダリングバックエンド:DX、OpenGL、Metal、WebGL、Vulkanなど(
ドキュメント
)
BSD-2
make
cairomm
CairoグラフィックスライブラリのC++ラッパー。複数の出力デバイスをサポートする2Dライブラリ:X Window、Quartz、Win32、イメージバッファ、PostScript、PDF、SVG、OpenGL(実験的)
LGPL
dfpsr
2D、3Dおよびアイソメトリックソフトウェアレンダラー。デスクトップGUIツールキット付き、依存関係が最小限、長期間のメンテナンスを想定して設計され、3Dアクセラレーションドライバーなしで動作可能
zlib
gegl
Ge
neric
G
raphics
L
ibrary(GEGL)はデータフローベースの画像処理フレームワークで、浮動小数点処理と非破壊的画像処理機能を提供(
ソース
)
LGPL
io2d
P0267
のリファレンス実装。提案されている
ISO C++向け2DグラフィックスAPI
BSL-1.0
cmake
nanovg
OpenGL上で動作するアンチエイリアス対応2Dベクター描画ライブラリ(C言語)。UIとビジュアライゼーション用。DX11/Metal/bgfxへの移植版あり
zlib
nux
OpenGLツールキット
LGPL v3
pangomm
Pango
フォントレイアウトライブラリの公式C++インターフェース(
ソース
)
LGPL v2.1
make
Skia
C++で書かれたオープンソースの2Dグラフィックスライブラリ。
Skia Graphics Engine
はGoogle Chrome、Chrome OS、Mozilla Firefox、Android、LibreOffice、Flutterなどで使用されている。
Skia
は複数のバックエンドを持つ:ソフトウェアラスタライゼーション、(PDF)出力、OpenGL、SVGなど
New BSD
TXLib
TX LibraryはWin32用の小さな2Dグラフィックスライブラリ(C++記述)
ULIS
クロスプラットフォームC++14ライブラリ。汎用デジタル画像処理、2Dソフトウェアラスタライザー、無制限の画像フォーマット(
u8
、
u16
、
u32
、
float
、
double
)、カスタムビット順メモリレイアウト、すべてのPhotoshopピクセルブレンディングモード+11の追加モード、カラーモデル(RGB、HSL、HSV、CMYK、...)、カラーマネージドパイプライン、カラースペースサポート(icmプロファイルとデバイス非依存)、マルチスレッドによる最適化アルゴリズム、SIMD拡張(SSE2)による最適化アルゴリズム、最適化のためのイメージプールとキャッシュ、アニメーション画像シーケンスのメモリストレージ
カスタム(非商用目的のみ無料)
cmake
グラフィックス (3D)
ライブラリ
説明
ライセンス
設定
assimp
3Dモデル読み込み
BSD-3
cmake, vcpkg
bgfx
クロスプラットフォームでグラフィックスAPIに依存しない、「Bring Your Own Engine/Framework」スタイルのレンダリングライブラリ。
BSD-2
make, vcpkg
Diligent Engine
モダンなクロスプラットフォームの低レベル3Dグラフィックスライブラリ。
Apache-2.0
cmake
Epoxy
GLEWの近代的な後継ライブラリ。一部の種類のGLコンテキスト間の差異を抽象化し、GLEWよりも使用が簡素化される場合がある。2015年以降GTK+プロジェクトで使用されている。
MIT
meson, vcpkg
G3D
G3D Innovation Engineは、C/C++で記述された、完全な機能を備えたオープンソースのクロスプラットフォーム(Windows、Linux、Mac OS)3Dゲームエンジンです。G3Dは、商用ゲーム、研究論文、シミュレーター、大学のコースで使用されています。リアルタイムおよびオフラインのハードウェアレンダリング、レイトレーシング、モデルローディング、線形代数、GPUでのGP計算をサポートしています。3DS、OBJ、MP4、PNG、JPG、MD3およびその他多くのフォーマットをサポートし、ネイティブOpenGLのスキン可能なGUIを含みます。(
Src
) (
Doc
)
BSD-2
GLAD
カスタマイズ可能で軽量なOpenGL関数ローディングライブラリ
GLEW
OpenGL関数ローダー (
ソース
)
EXTGL/BSD/MIT
make, vcpkg
GLFW
OpenGLウィンドウマネージャー (
ソース
) (
ドキュメント
)
zlib/libpng
cmake, vcpkg
GLM
Open
GL
M
athematics (GLM) は、
GLSL
仕様に基づくグラフィックスソフトウェア向けのC++数学ライブラリです。
The Happy Bunny /
MIT
header-only; cmake, vcpkg
Godot
C++17で書かれたフル機能のマルチプラットフォーム2Dおよび3Dゲームエンジンで、GUIエディタは自身で書かれており、Python風のスクリプト言語を備えています。
MIT
scons
hlsl++
HLSL構文を使用したレンダリングのためのC++数学ライブラリ。SSEおよびNEONをサポート
MIT
ヘッダーのみ
Horde3D
軽量で可能な限りクリーンな設計でありながら、次世代ゲームで期待される見事な視覚効果を提供するグラフィックスエンジンを開発する目的で書かれた、小規模なオープンソース3Dレンダリングエンジン。
EPL
Irrlicht
Irrlicht Engineは、C++で書かれたオープンソースのリアルタイム3Dエンジンです。クロスプラットフォーム対応で、D3D、OpenGL、および独自のソフトウェアレンダラーを使用しています。
zlib/libpng
make, vcpkg
klein
C++11/14/17 SSE最適化された射影幾何代数ライブラリ、グラフィックスとアニメーション用
MIT
cmake, vcpkg
Magnum
ゲームおよびデータ可視化のための軽量でモジュラーなC++11/C++14グラフィックスミドルウェア (
ソース
)
カスタム
cmake
O3DE
O ープンソース
3D
E ンジン(旧Amazon Lumberyard)は、C++マルチプラットフォーム3Dエンジンで、AAAゲーム、シネマ品質の3Dワールド、および高精度シミュレーションを構築します。物理シミュレーション、スクリプトエンジン、ネットワーキング、および
その他機能
を含みます。(
ドキュメント
)
Apache 2.0
cmake
Ogre3D
OGREはオブジェクト指向グラフィックスレンダリングエンジンであり、多目的可視化ライブラリです。科学技術可視化、ゲーム、シミュレーション、仮想現実、その他のグラフィックプロジェクトに適しています。マルチプラットフォームで非常に堅牢であり、優れたドキュメントを備えています。
MIT
cmake, vcpkg
Open CASCADE
3D CAD/CAM/CAEアプリケーション向けSDK (
ソース
)
LGPL-2.1
cmake
OpenGL
3Dアプリケーション開発のための3D言語、グラフィックスおよびSDK。
Khronos (MIT)
OpenSceneGraph
OpenSceneGraphは、オープンソースの高性能3Dグラフィックツールキットであり、視覚シミュレーション、ゲーム、仮想現実、科学技術可視化、モデリングなどの分野でアプリケーション開発者によって使用されています。(
Src
) (
Doc
)
Custom,
GNU LGPL
cmake, vcpkg
Visionaray
C++ レイトレーシングテンプレートライブラリ。
MIT
cmake
VTK
Visualization Toolkit (VTK) は、科学データを操作および表示するためのオープンソースソフトウェアです。3Dレンダリングのための最先端ツール、3Dインタラクションのためのウィジェットスイート、そして広範な2Dプロット機能を備えています。
BSD-3
cmake, vcpkg
Vulkan
前世代のグラフィックスAPIに見られた多くの抽象化を取り除いた低レベルAPIです。これは最大限のパフォーマンスを提供するのに優れていますが、開発者により多くの複雑さを露呈するという副作用があります。幸いなことに、この障壁をクリアし、迅速に生産性を上げるための優れたチュートリアルがいくつか存在します。
Khronos (MIT)
make, vcpkg
画像
ライブラリ
説明
ライセンス
設定
Adobe/boost GIL
2D画像を操作するアルゴリズムに焦点を当てた高レベルな汎用ライブラリ。I/Oオプションは非常に限定的。
BSL-1.0
agge
Anti-Grain Evolution。C++における速度と品質を追求した2Dグラフィックスエンジン
MIT
cmake
FreeImage
PNG、BMP、JPEG、TIFFなどの一般的なグラフィック画像フォーマットをサポートしたい開発者のためのオープンソースライブラリプロジェクト
GPLv2, GPLv3, FIPL
FreeImageRe
Open-SourceライブラリFreeImage v3.18からのフォーク。画像コーデックの更新サポートと使いやすさの調整を目的とする。すべての元のフォーマットとプラグインを維持。
GPLv2, GPLv3, FIPL
cmake
GraphicsMagick
88以上の主要フォーマットでの画像の読み込み、書き込み、操作。2002年にImageMagickからフォーク
Copyright
Mercurial
SAIL
静的、アニメーション、マルチページ画像とそのメタデータ、ICCプロファイルの読み書き。変換機能。シンプルさと速度を目標とする。
MIT
cmake
stb
画像ローダー/ライター/リサイザー、フォントテキストラスタライザー、型安全なコンテナ、ogg vorbisデコーダー、リアルタイムDXTコンプレッサー、パーリンノイズジェネレーター、pet DSL用レキサー、高速sprintfなどを特徴とするC/C++ゲーム開発向けライブラリセット。
MIT,
Custom
header-only
ThorVG
Thor Vector Graphicsは、SVGやLottieを含むベクターベースのシーンとアニメーションを描画するために使用される軽量でポータブルなライブラリです。グラフィカルコンテンツを視覚化するために、さまざまなソフトウェアプラットフォームやアプリケーションで自由に利用できます。(
Src
)
MIT
conan, meson, msys2, vcpkg
フォーマット
プロット
ライブラリ
説明
ライセンス
設定
Matplot++
gnuplot ベースのC++グラフィックスライブラリで、データ可視化を提供します。
Matplot++ は以下のライブラリを活用できます: OpenCV, OpenGL, LAPACK, BLAS, FFTW, JPEG, TIFF, ZLIB, PNG, GLAD, GLFW3. (
ドキュメント
)
MIT
cmake
plotutils
GNU plotutils パッケージには
libplot が含まれており、これは2次元ベクターグラフィックスを多くのファイル形式(ベクター形式とビットマップ形式の両方)でエクスポートするためのC/C++ライブラリです。
libplot は2次元ベクターグラフィックスのアニメーション化が可能で、ファイルエクスポートとグラフィックスアニメーションにPostscript風のAPIを使用します。
GPL
sciplot
gnuplot
を基盤とした現代的なC++科学技術プロットライブラリで、PDF、SVG、PNG、EPSなどへのエクスポート機能を備えています。
MIT
ヘッダーのみ; cmake, vcpkg
画像処理
ライブラリ
説明
ライセンス
設定
dlib
Halide
画像とテンソルの高性能処理のためのC++組み込みDSL
MIT
cmake, vcpkg
ITK - Insight Toolkit
ITKはオープンソースのクロスプラットフォームライブラリで、開発者に画像解析のための包括的なソフトウェアツールスイートを提供します。エクストリームプログラミング手法を通じて開発され、ITKは実証済みの空間指向アーキテクチャを基盤とし、2次元、3次元、またはそれ以上の次元の科学画像の処理、セグメンテーション、登録を実現します。
Apache 2.0
cmake
opencv
OTB
国際化
ライブラリ
説明
ライセンス
設定
gettext
GNU 国際化ライブラリ
GPL
make
ICU
I
nternational
C
omponents for
U
nicode は、ソフトウェアアプリケーション向けに Unicode と国際化サポートを提供する成熟した広く使用されている C/C++ ライブラリセットです。(
ソース
)
icu4c/LICENSE
make
spirit-po
poファイルを解析し、GNU libintl と類似したインターフェースを提供する小型ライブラリ。boost::spirit ベース
BSL-1.0
ヘッダーのみ
uni-algo
C/C++ 向け Unicode アルゴリズム実装
MIT/Unlicense
cmake, conan, vcpkg
ロギング
ライブラリ
説明
ライセンス
構成方法
Backward
カラフルなPython風スタックトレースとソースコードスニペットを表示(特にクラッシュ時)
MIT
header-only; cmake, conan
Boost.Log
シンプルで拡張性が高く、高性能なクロスプラットフォームロギングライブラリ
BSL-1.0
clutchlog
サービスイベント保存ではなく多様なデバッグを目的としたシングルヘッダーロギングシステム
BSD
cmake
cpptrace
C++11以降向けのシンプルで移植性の高い独立スタックトレースライブラリ。シグナルセーフなスタックトレース、例外時のスタックトレース、ソースコードスニペットなどを含む
MIT
cmake, conan, vcpkg
glog
C++スタイルストリームに基づくC++98向けGoogleロギングライブラリ
License
bazel, cmake, vcpkg
libassert
アサーション失敗時の高品質な診断情報を提供する機能豊富なC++アサーションライブラリ
MIT
cmake, conan, vcpkg
Log4cplus
Java log4j APIをモデルにしたクロスプラットフォームC++17ロギングAPI。スレッドセーフで柔軟性が高く、ログ管理と設定を任意の粒度で制御可能
BSD (two clause) or Apache 2.0
Autotools, cmake, Visual Studio
Log4cpp
ファイル、syslog、IDSAなど多様な出力先への柔軟なロギングを実現するC++クラスライブラリ
LGPL
log4cxx
Apache log4jを模範としたC++向けロギングフレームワーク(
Src
)
Apache
cmake
lwlog
極めて高速な同期・非同期C++17ロギングライブラリ
MIT
cmake
Pantheios
型安全性、効率性、汎用性、拡張性を兼ね備えた診断ロギングAPIライブラリ
BSD-style
plog
1000行未満のコードで実現された移植性の高いシンプルなC++ログライブラリ
MPL-2.0
Quill
クロスプラットフォーム対応のC++14非同期
低遅延
ロギングライブラリ
MIT
cmake
spdlog
超高速C++ロギングライブラリ
MIT
header-only; cmake, conan
エラーハンドリング
ライブラリ
説明
ライセンス
設定
Boost.LEAF
C++11用の軽量エラーハンドリングライブラリ:シングルヘッダー形式、依存関係なし、動的メモリ割り当てなし、例外処理の有無に関わらず使用可能、マルチスレッド対応。 (
ソース
)
BSL-1.0
ヘッダーのみ、cmake
数学
ライブラリ
説明
ライセンス
設定
alglib
ALGLIBはクロスプラットフォーム(Windows/POSIX/Linux)の数値解析およびデータ処理ライブラリです。ALGLIBの機能には以下が含まれます:データ分析、最適化と非線形ソルバー、補間、線形代数と線形ソルバー、FFTなど。
無料(GPL/個人/学術)および商用
ArrayFire
並列計算のためのクロスプラットフォーム(Windows/OSX/Linux)汎用HPC(CPU/GPU/OpenCL/CUDA/GPGPU)ライブラリ。ArrayFireの領域は:ベクトルアルゴリズム、画像処理、コンピュータビジョン、信号処理、線形代数、統計など。(
Src
)
カスタム
Boost.Math
数学領域におけるいくつかの貢献を含む:浮動小数点ユーティリティ、数学定数、統計分布と関数、統計、ベクトル汎関数 - ノルム、特殊関数、根探索と最小化アルゴリズム、多項式と有理関数、補間、数値積分と微分、フィルター、複素数関数、四元数、八元数、整数ユーティリティ(最大公約数と最小公倍数)、級数、有理数と連分数。
BSL-1.0
Boost.Random
一様分布などの有用な特性を持つ乱数を生成するための様々なジェネレーターと分布を提供します。
BSL-1.0
Boost.SafeNumerics
C++14、保証された正しい整数演算、組み込み整数型のドロップイン置換。
BSL-1.0
ヘッダーのみ
cpp-measures
物理量を扱うためのC++11ライブラリ
MPL-2.0
ヘッダーのみ
G+Smo
等幾何解析のためのクロスプラットフォームライブラリ(
Doc
)
MPL-2.0
cmake
GNU MP bignum C++ interface
オーバーロードされた関数と演算子を提供するC++便利クラスインターフェース。
GMP
は任意精度演算のための無料Cライブラリで、符号付き整数、有理数、浮動小数点数を操作します。
GNU LGPL v3 および GNU GPL v2
libmpdec++
正しく丸められた任意精度十進浮動小数点演算のためのクロスプラットフォームCライブラリ(C++ラッパー付き)。
BSD-2-Clause
make, nmake
NTL
数論を行うためのライブラリ。NTLは高性能で移植性のあるC++ライブラリで、符号付き任意長整数、および整数と有限体上のベクトル、行列、多項式を操作するためのデータ構造とアルゴリズムを提供します。
LGPLv2.1+
PCGrand
PCGは、単純で高速で空間効率が良く、統計的に優れた乱数生成アルゴリズムのファミリーです。多くの汎用RNGとは異なり、予測も困難です。
Apache
stats++
高度で包括的な統計ソフトウェア:データ収集と前処理、統計、機械学習、最適化、オープンC++ソースコード付き。
StatsLib
統計分布関数のテンプレートライブラリ。
Apache-2.0
ヘッダーのみ
オートマトン理論
数値用クラスライブラリ
ライブラリ
説明
ライセンス
構成
BigNumber
任意長整数の作成と計算のためのC++クラス
Apache 2.0
cmake
Boost.Multiprecision
マルチプレシジョンライブラリは、C++の通常の基本(組み込み)型よりも
範囲と精度
が高い整数、有理数、浮動小数点数、複素数型を提供します。
BSL-1.0
cln
CLNは、任意精度でのあらゆる種類の数値に対する効率的な計算のためのライブラリです。
GPL
CNL
C
オムポジショナル
N
ューメリック
L
イブラリ - 固定精度数値型
BSL-1.0
cmake, conan
fpm
C++11
f
ィクスト
p
オイント
m
ァスライブラリ。整数上で標準ライブラリの浮動小数点機能を提供します。ターゲットプラットフォームにFPUがない場合や、決定論的計算が必要な場合に有用です。
MIT
ヘッダーのみ; cmake
Universal Numbers
C++17/20テンプレートライブラリ。ネイティブ算術型(整数/10進数/固定小数点/浮動小数点/posit/対数/区間)のプラグイン代替を提供します
MIT
cmake, vcpkg, conan
計算幾何学
ライブラリ
説明
ライセンス
設定
Boost.Geometry
Boost.Geometry(別名
G
eneric
G
eometry
L
ibrary, GGL)は、幾何学問題を解決するための概念、プリミティブ、アルゴリズムを定義します。Boost.Geometryは、概念、メタ関数、タグディスパッチに基づいた、次元非依存、座標系非依存でスケーラブルなカーネルを含みます。サポートされるアルゴリズムは、面積、長さ、周長、重心、凸包、交差(クリッピング)、包含(ポリゴン内の点)、距離、エンベロープ(バウンディングボックス)、単純化、変換など多岐にわたります。本ライブラリは高精度演算数をサポートします
BSL-1.0
CGAL
計算幾何学アルゴリズムライブラリ
GPL-3.0 または商用
cmake
PCL
ポイントクラウドライブラリ
pmp-library
ポリゴンメッシュ処理ライブラリ
Wykobi
計算幾何学ライブラリ
グラフ理論
ライブラリ
説明
ライセンス
設定
Boost.Graph
BSL-1.0
CXXGraph
グラフ表現、操作、分割、アルゴリズムのためのC++17ライブラリ
AGPL-3.0
ヘッダーのみ; cmake
GTpo
C++14有向グラフモデリングライブラリ、
QuickQanavaプロジェクト
の一部
BSD
qmake, cmake
LEMON
L
イブラリ for
E
fficient
M
odeling and
O
ptimization in
N
etworks - 組合せ最適化、グラフ、ネットワークに焦点を当てた一般的なデータ構造とアルゴリズムを実装 (
ドキュメント
)
ライセンス
NGraph
C++のシンプルな(ネットワーク)グラフライブラリ
OGDF
O
pen
G
raph algorithms and
D
ata structures
F
ramework - グラフアルゴリズム、特に自動グラフ描画のためのC++ライブラリ
GPL v2 または v3
線形代数
ライブラリ
説明
ライセンス
設定
Armadillo
OpenBLAS、Intel MKL、LAPACK、ATLAS、ARPACK、SuperLU、FFTWのラッパーを備えた線形代数および科学技術計算のためのC++テンプレートライブラリ。機械学習、パターン認識、DSP、バイオインフォマティクス、統計学、金融などに有用。
Apache 2.0
Blasw
C++11 BLASおよびLAPACKの一部ラッパー
BSD-3-Clause
ヘッダーのみ; cmake
Blaze
Blitz++
高性能な密配列とベクトル、乱数生成器、および小規模ベクトルを提供するC++テンプレートクラスライブラリ。
GPL-3.0, LGPL-3.0, カスタム
cmake
Boost.uBLAS
密行列、パック行列、疎行列に対するBLASレベル1、2、3の機能を提供するC++テンプレートクラスライブラリ。式テンプレートを使用。
BSL-1.0
C++ Matrix
高性能で正確な(エッジケースなど)行列数学ライブラリ、式テンプレート算術演算子を備える
BSD-3-Clause
cmake, make
DecompLib
ベクトルを正定値重み付き基底ベクトルの集合に分解するためのC++11ライブラリ。
MIT
ヘッダーのみ
Dlib - linear algebra tools
Eigen
行列、ベクトル、数値ソルバー、および関連アルゴリズムのためのC++テンプレート線形代数ライブラリ。
MPL2
cmake, conan
ETL
IT++
Matrix
LinuxおよびWindowsで利用可能な、使いやすい科学技術計算ライブラリ(C++用/で)。
MIT
cmake
NumCpp
PythonのNumPyを実装したC++テンプレートライブラリ
MIT
ヘッダーのみ; cmake, vcpkg, conan
PETSc
偏微分方程式でモデル化された科学技術アプリケーションの並列解法のためのデータ構造とルーチンのスイート。MPI、CUDAまたはOpenCLを介したGPU、およびハイブリッドMPI-GPUをサポート。
Spectra
Sp
疎
E
固有値
C
計算
T
ツールキットとして
R
再設計された
A
RPACKは、大規模固有値問題のためのオープンソースC++ライブラリであり、
Eigen
線形代数ライブラリ(同様にオープンソースでヘッダーのみ)上に構築されています。(
ソース
)
MPL-2.0
ヘッダーのみ; cmake, vcpkg
Tense
高速なC++17式テンプレート行列およびテンソルライブラリ
BSD-3-Clause
ヘッダーのみ; cmake
xtensor
多次元配列式による数値解析のためのC++ライブラリ。
BSD
(注:指定されたテキスト内に翻訳対象となる可読テキストが存在しないため、元のHTML構造をそのまま保持しています)
機械学習
(注:指定されたテキスト部分には翻訳対象の自然言語テキストが含まれていないため、HTML構造のみが保持されています)
数値計算
ライブラリ
説明
ライセンス
設定
LibBF
Bellardによって開発された任意精度数値計算ライブラリで、
π
を数十億ビットまで計算するサンプルプログラムを含む
MIT
最適化
ライブラリ
説明
ライセンス
設定
ceres-solver
大規模で複雑な最適化問題のモデリングと解決のためのオープンソースC++ライブラリ。機能豊富で成熟しており、高性能なライブラリであり、2010年からGoogleで本番環境で使用されている。
Apache
cmake, conan
OptimLib
非線形関数のための数値最適化手法のC++11ライブラリ。
記号式操作
ライブラリ
説明
ライセンス
設定
CasADi
非線形最適化とアルゴリズム微分のための記号的フレームワーク。記号式のためのC++コード生成と、コンパイルされた生成コードの動的接続をサポート。
LGPLv3.0
cmake
ExprTk
C++ Mathematical Expression Toolkit Library (ExprTk) は、シンプルで使いやすく、統合が容易で、非常に効率的な実行時数学式パーサーおよび評価エンジン。ExprTkは、関数型、論理型、ベクトル処理セマンティクスの多数の形式をサポートし、非常に拡張性が高い。
MIT
header-only
GiNaC
記号操作を、計算集約的な数値アプリケーションやグラフィカルインターフェースなど、確立されたコンピュータサイエンスの分野と統合したシステムを作成するためのライブラリ。
GPLv3
mathiu.cpp
C++17によるシンプルな計算機代数システム
Apache-2.0
cmake
SEMT
コンパイル時記号微分
License
make
SymbolicC++
汎用計算機代数システム
GPLv2
autoconf
SymCC
コンパイル中にプログラムに記号実行を組み込むコンパイララッパーと、関連する実行時サポートライブラリ。本質的に、コンパイラはプログラム内の各値に対する記号式を計算するコードを挿入する。実際の計算は実行時にサポートライブラリへの呼び出しを通じて行われる。
GPLv3
cmake
SymEngine
スタンドアロンの高速C++記号操作ライブラリ。
MIT
cmake
ViennaMath
実行時およびコンパイル時に数学式の便利なインスタンス化、操作、評価を可能にする記号数学ライブラリ。
MIT
cmake
メタプログラミング
PDF
ライブラリ
説明
ライセンス
設定
HARU
PDFファイル生成のための無料、クロスプラットフォーム、オープンソースライブラリ (
ドキュメント
) (
ソース
)
Zlib
cmake
JagPDF
PDF生成のための無料オープンソースライブラリ (
ドキュメント
)
MIT
PoDoFo
PDFを扱うための無料ポータブルC++17ライブラリ
LGPL-2.0
cmake, conan, vcpkg
PDF-Writer
PDFファイルの作成、
編集
および解析のための高性能C++ライブラリ
Apache-2.0
cmake, conan, vcpkg
物理とシミュレーション
ライブラリ
説明
ライセンス
設定
Bullet
ゲーム、視覚効果、ロボティクス、強化学習のための物理シミュレーション
HELICS
異なる種類のシミュレータ間で時間を同期しデータを交換するための協調シミュレーションフレームワーク
BSD 3-Clause "New" or "Revised"
cmake
ProjectCHRONO
オープンソースのマルチフィジックスシミュレーションエンジン
ReactPhysics3D
3DシミュレーションとゲームのためのC++物理エンジンライブラリ
ロボティクス
知覚
ライブラリ
説明
ライセンス
設定
GTSAM
センサーフュージョン、SLAM、SFM、VO、コンピュータビジョン (
Src
)
BSD
cmake
opencv
コンピュータビジョンと知覚、キャリブレーション、特徴マッチング (
Src
) (
Doc
)
BSD, Apache 2
cmake
シリアライゼーション
ライブラリ
説明
ライセンス
設定
Boost.Serialization
BSL-1.0
C++ XML objects
cereal
C++11 シリアライゼーション
BSD
cista
シンプルで高性能、ゼロコピーのC++シリアライゼーション&リフレクションライブラリ (
ソース
)
MIT
cmake
cppcodec
base64、base32、hexのエンコード/デコードを行うC++11ライブラリ。一貫性のある柔軟なAPIを提供
MIT
ヘッダーのみ
GPDS
オブジェクトをXMLとの間でシリアライズする汎用データシリアライザ。内部でTinyXMLを使用
gSOAP
正確なXMLシリアライゼーション
iguana
C++17で開発されたモダンで汎用的かつ使いやすいシリアライゼーションエンジン。コンパイル時リフレクションに基づく。対応フォーマット: JSON、XML、ユーザー定義
Apache-2.0
cmake
jios
JSONシリアライゼーション
MIT
cmake
protobuf
Protocol Buffers(protobuf)はGoogleの言語中立、プラットフォーム中立、拡張可能な構造化データシリアライゼーションメカニズム。.protoファイルコンパイラを含む (
ドキュメント
)
カスタム
bazel, cmake
rpnx-serial
std::map
、
std::vector
などの型を(デ)シリアライズできるライブラリ
Serio
高速軽量なC++シリアライゼーションライブラリ
BSD-3-Clause
ヘッダーのみ; cmake
ThorsSerializer
JSON用のC++シリアライゼーションライブラリ
MIT
make
yaml-cpp
YAS
Y
et
A
nother
S
erializationは、サードパーティライブラリに依存しないC++11ライブラリ。アーカイブ形式はバイナリ、テキスト、JSONに対応
Boost
ヘッダーのみ
バイナリシリアライゼーション
ライブラリ
説明
ライセンス
構成
binn
コンパクトで高速、使いやすいバイナリシリアライゼーションライブラリ。同名フォーマットの実装。
blobify
構造体定義のみからシリアライズされたレイアウトを推測するC++17ライブラリ
Boost
header-only; cmake
bson-cxx
BSON
フォーマットのC++11実装
scons
fast_ber
BER/DERエンコーディングルールを使用したC++11高性能シリアライゼーション。エンコーディングレイアウトはASN.1スキーマで定義
UBjsonCpp
C++14ベースの高性能UBJson読み書きライブラリ
ソート
ライブラリ
説明
ライセンス
設定
Cpp-sort
様々なソートアルゴリズムを集めたシンプルなパッケージ
MIT
Indiesort
非ランダムアクセスコンテナで
std::sort
などのランダムアクセスソート関数を使用可能にする関数テンプレート。また、ランダムアクセスコンテナや配列での大規模オブジェクトのソート性能も向上させる
zlib
Timsort
安定ソート関数テンプレート。逆順または半ソート済みデータに対して、
std::sort
を含むクイックソートベースのアルゴリズムを凌駕する性能を発揮する
MIT
システム
ライブラリ
説明
ライセンス
設定
Infoware
コマンドラインを使用せずにシステムおよびハードウェア情報を取得するためのC++ライブラリ
Creative Commons v1.0
cmake
ターミナル
ライブラリ
説明
ライセンス
構成
cli
現代的なC++のためのクロスプラットフォーム対話型コマンドラインインターフェースライブラリ。
BSL-1.0
header-only; cmake, make, nmake, vcpkg
cwidget
GTK+とQtをモデルにしたC++向け高レベル端末インターフェースライブラリ。表示層には
curses
を使用
GPL v2.0
make
replxx
UTF-8、シンタックスハイライト、ヒント機能をサポートするreadlineとlibeditの代替ライブラリ。
テスト
ライブラリ
説明
ライセンス
設定
bandit
C++11向けの人間に優しいユニットテストフレームワーク (
ソース
)
MIT
cmake
Boost.Test
幅広いプラットフォームとコンパイラで利用可能なC++03/11/14/17ユニットテストライブラリ (
ソース
)
BSL-1.0
cmake, b2
Catch2
ユニットテスト、TDD、BDDのためのモダンなC++ネイティブテストフレームワーク - C++14、C++17以降を使用
Boost
cmake
cppunit
有名なJUnitフレームワークのC++ポート
LGPL-2.1
make
CUTE
C ++
U nit
T esting
E asier(登録に静的初期化に依存しない)、
Cevelop
に統合されたTDD用フレームワーク
MIT
ヘッダーのみ
doctest
ユニットテストとTDDのための最も軽量で機能豊富なC++シングルヘッダーテストフレームワーク
MIT
ヘッダーのみ; cmake
ELFspy
フェイクとスパイを使用した隔離テスト - Linux専用
GPL-2.0
make
faker-cxx
テストデータ生成のためのモダンなC++20 Fakerライブラリ
MIT
cmake
Google Test
Google Testing and Mocking Framework (
ソース
)
BSD 3-Clause "New" or "Revised"
bazel, cmake
lest
ユニットテスト、TDD、BDDのためのC++11ネイティブの小型フレームワーク(C++98バリアントを含む)
Boost
ヘッダーのみ; cmake
liblittletest
ポータブルなテストフレームワーク
LGPL-2.1
ヘッダーのみ
snitch
軽量なC++20テストフレームワーク
Boost
cmake
tunit
Windows、macOS、Linux、iOS、Android向けのモダンなC++17ユニットテストライブラリ
公式サイト
MIT
cmake
テキスト
(注:元のテキストに翻訳対象となる実際のコンテンツが含まれていないため、HTML構造のみを保持しています)
コーディング
ライブラリ
説明
ライセンス
設定
strsuite
異なるエンコーディングの文字列を管理するC++20ライブラリ
LGPL3.0
cmake
uchardet
文字列のエンコーディングを推定するライブラリ。基本的にPythonの
uchardet
関数と同じ機能を提供します。
MOZILLA PUBLIC LICENSE v1.1
cmake
win-iconv
LinuxとMac向けの文字セットエンコーディング変換ライブラリ。Windows版の
iconv
実装はWin32文字セット変換APIに基づいています。
public domain
cmake
差分/パッチ
形式
解析
ライブラリ
説明
ライセンス
構成
BNFlite
軽量な文法パーサーライブラリ
MIT
header-only
Boost.Spirit
Expression templatesとTemplate Meta-Programmingを使用してD omain S pecific E mbedded L anguages (DSEL)として実装された、パースと出力生成のためのC++17ライブラリセット。Spiritライブラリはターゲット文法を完全にC++で記述することを可能にする。(
Src
) (
Doc
)
BSL-1.0
cmake
CTRE
高速なC ompile-T ime R egular E xpressionsで、コンパイル時または実行時のマッチング/検索/キャプチャをサポート。
Apache-2.0
header-only, cmake, vcpkg
lexy
便利なC++ DSLでパーサーを記述できるC++17パーサーコンビネーターライブラリ。手書きパーサーの柔軟性と制御性を全て備える。UTF-8/16/32をサポート。(
Doc
)
BSL-1.0
cmake
PEGTL
P arsing E xpression G rammar T emplate L ibraryは、ゼロ依存のC++17 header-onlyパーサーコンビネーターライブラリで、
Parsing Expression Grammar
(PEG)に従ってパーサーを作成する。
Boost
header-only
検索
(注:指定されたテキスト部分に翻訳対象となる可読テキストが含まれていないため、HTML構造のみを保持した状態で返却します)
テンプレートエンジン
ライブラリ
説明
ライセンス
構成
inja
C++17向けテンプレートエンジン
MIT
ヘッダーのみ; cmake, conan, vcpkgなど
Jinja2C++
Jinja2テンプレートのC++14/17実装
MPL-2.0
cmake, conan
バージョン管理
ライブラリ
説明
ライセンス
設定
coo-semver
セマンティックバージョン番号のためのC++操作ライブラリ
LibGit2
バージョン管理システムGitのコアライブラリ
ビデオ
Web
ライブラリ
説明
ライセンス
設定
Chromium Embedded
cpp-jwt
Drogon
Linux/macOS/Unix/Windows上で動作するC++14/17ベースのHTTPウェブアプリケーションフレームワーク。
ffead-cpp
C ++におけるエンタープライズアプリケーション開発 のためのフレームワーク 、HTTP1/HTTP2/HTTP3準拠、複数のサーバーバックエンドをサポート
Apache 2.0
cmake
libhttpserver
高性能なRESTfulウェブサーバーを構築するためのC++ライブラリ。
libmicrohttpd
を基盤として、C++でHTTPサービスを作成するためのシンプルなAPIを開発者に提供。
LGPL-v2.1
autotools
libkcddb
liblastfm
libmusicbrainz5
libnavajo
Molybden
HTML/CSS/JS GUIを使用したクロスプラットフォームC++デスクトップアプリを構築するためのSDK(
ドキュメント
)(
ソース
)
ライセンス
npm
oatpp
IoTおよび高性能ウェブサービスのための強力でポータブルな軽量かつゼロ依存のウェブフレームワーク。
QtWebApp
Java ServletsにインスパイアされたC++でのHTTP(s)サーバー
Tufão
Qtを基盤として構築されたC++11用非同期ウェブフレームワーク(
ドキュメント
)
LGPL-2.1, GPL-2.0
cmake
uri-template
C++用URIテンプレート展開およびリバースマッチング
Apache 2.0
cmake
userver
C++非同期フレームワーク
Apache 2.0
cmake
Wt
ウェブアプリ用ウィジェットとビルディングブロック、組み込みセキュリティ、PDFレンダリング、2Dおよび3Dペインティング、ORM、チャート作成、認証フレームワーク(
ドキュメント
)(
ソース
)
GNU GPLまたは商用ライセンス
関連項目
外部リンク