ol) |  A modern, fast, lightweight thread pool  |  [ MIT ](https://github.com/DeveloperPaul123/thread-pool/blob/master/LICENSE) |  cmake   
[ Thrust ](https://thrust.github.io/) |  STL-like parallel algorithms and data-structures on top of CUDA, TBB, or OpenMP  |  [ Apache v2.0, Boost v1.0. ](https://github.com/NVIDIA/thrust#licensing) |  cmake   
[ TimerAlarm ](https://github.com/hosseinmoein/Cheetah) |  Timers and Alarms based on threads.  |  BSD-3-Clause  |  header-only; cmake, make   
[ VexCL ](https://github.com/ddemidov/vexcl) |  A C++ vector expression template library for OpenCL, CUDA, OpenMP  |  MIT  |  cmake   
[ ViennaCL ](http://viennacl.sourceforge.net/) |  Linear algebra and algorithms with OpenMP, CUDA, and OpenCL backends. ( [ Src ](https://viennacl.sourceforge.net/viennacl-download.html) ) ( [ Doc ](https://viennacl.sourceforge.net/viennacl-documentation.html) )  |  Custom  |  cmake   
[ Xenium ](https://github.com/mpoeter/xenium) |  A C++17 library that provides various concurrent data structures and reclamation schemes.  |  MIT  |  header-only; cmake   
  
##  [ [ edit ](/mwiki/index.php?title=cpp/links/libs&action=edit&section=7
"Edit section: Configuration") ]  Configuration

Library  |  Description  |  License  |  Configuration   
---|---|---|---  
[ Boost.Program_options ](https://www.boost.org/doc/libs/release/doc/html/program_options.html) |  The library allows to obtain program options, that is (name, value) pairs from the user, via conventional methods such as command line, config file, and environment variables.  |  [ BSL-1.0 ](https://www.boost.org/LICENSE_1_0.txt) |   
[ figcone ](https://github.com/kamchatka-volcano/figcone) |  Read JSON, YAML, TOML, XML or INI configuration by declaring a struct  |  MS-PL  |  cmake   
[ gconfmm ](https://www.gtkmm.org/) |  A cross-platform (official) C++ interface for the popular GUI library GTK, including typesafe callbacks, and a comprehensive set of widgets that are easily extensible via inheritance. **gtkmm** uses STL, including  [ string ](/w/cpp/string/basic_string "cpp/string/basic string") s, containers, and iterators. UTF8 is supported. ( [ Src ](https://gitlab.gnome.org/GNOME/glibmm/) ) ( [ Doc ](https://www.gtkmm.org/en/documentation.html) )  |  [ LGPLv2.1 ](https://gitlab.gnome.org/GNOME/glibmm/-/blob/master/COPYING) |  autotools, meson, make   
[ libconfig ](https://www.hyperrealm.com/oss_libconfig.shtml) |  A simple cross-platform C/C++ library for processing structured configuration files (  "*.cfg"  ) ( [ Src ](https://github.com/hyperrealm/libconfig) ) ( [ Doc ](https://www.hyperrealm.com/libconfig/libconfig_manual.html) )  |  LGPL 2.1  |  autotools, cmake, make   
[ libconfini ](https://github.com/madmurphy/libconfini) |  An cross-platform INI parser written in C ( [ Doc ](https://madmurphy.github.io/libconfini/html/index.html) )  |  GPL-3.0  |  autotools, make   
[ uconfig ](https://github.com/TinkoffCreditSystems/uconfig) |  A lightweight C++17 configuration library  |  Apache 2.0  |  header-only; cmake   
  
Command Line

Library  |  Description  |  License  |  Configuration   
---|---|---|---  
[ Argh! ](https://github.com/adishavit/argh) |  A minimalist argument handler.  |  BSD 3-Clause  |  header-only; cmake, vcpkg   
[ argparse (hbristow) ](https://github.com/hbristow/argparse) |  A slimline C++ class for parsing command-line arguments, with an interface similar to python's class of the same name.  |  BSD  |   
[ argparse (morrisfranken) ](https://github.com/morrisfranken/argparse) |  A lightweight library for parsing command line arguments in an elegant manner.  |  Apache 2  |  header-only; cmake   
[ argparse (p-ranav) ](https://github.com/p-ranav/argparse) |  A command-line argument parser for C++17  |  MIT  |  header-only; cmake, vcpkg   
[ args ](https://github.com/Taywee/args) |  A simple C++ argument parser library.  |  MIT  |  header-only; cmake, conan, meson, vcpkg   
[ Boost.Program_options ](https://www.boost.org/doc/libs/rel