mirror of
https://github.com/p-ranav/awesome-hpp.git
synced 2025-12-18 11:04:35 +03:00
Added more libraries to the initial list
This commit is contained in:
73
README.md
73
README.md
@@ -5,10 +5,22 @@ A collection of awesome header-only C++ libraries
|
||||
|
||||
* [argh](https://github.com/adishavit/argh): Argh! A minimalist argument handler.
|
||||
|
||||
* [argparse](https://github.com/p-ranav/argparse): Argument Parser for Modern C++
|
||||
|
||||
* [args](https://github.com/Taywee/args): A simple header-only C++ argument parser library. Supposed to be flexible and powerful, and attempts to be compatible with the functionality of the Python standard argparse library (though not necessarily the API).
|
||||
|
||||
* [CLI11](https://github.com/CLIUtils/CLI11): CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.
|
||||
|
||||
* [clipp](https://github.com/muellan/clipp): easy to use, powerful & expressive command line argument parsing for modern C++ / single header / usage & doc generation
|
||||
|
||||
* [flags](https://github.com/sailormoon/flags): ⛳ Simple, extensible, header-only C++17 argument parser released into the public domain.
|
||||
|
||||
* [structopt](https://github.com/p-ranav/structopt): Parse command line arguments by defining a struct
|
||||
|
||||
## Benchmarking
|
||||
|
||||
* [nanobench](https://github.com/martinus/nanobench): Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20
|
||||
|
||||
## Compression
|
||||
|
||||
* [gzip-hpp](https://github.com/mapbox/gzip-hpp): Gzip header-only C++ library
|
||||
@@ -17,16 +29,24 @@ A collection of awesome header-only C++ libraries
|
||||
|
||||
## Data Formats
|
||||
|
||||
* [cppcodec](https://github.com/tplgy/cppcodec): Header-only C++11 library to encode/decode base64, base64url, base32, base32hex and hex (a.k.a. base16) as specified in RFC 4648, plus Crockford's base32. MIT licensed with consistent, flexible API.
|
||||
|
||||
* [cpptoml](https://github.com/skystrife/cpptoml): cpptoml is a header-only library for parsing TOML
|
||||
|
||||
* [inih](https://github.com/jtilly/inih): This is a header only C++ version of inih.
|
||||
|
||||
* [jsoncons](https://github.com/danielaparker/jsoncons): A C++, header-only library for constructing JSON and JSON-like data formats, with JSON Pointer, JSON Patch, JSONPath, JMESPath, CSV, MessagePack, CBOR, BSON, UBJSON
|
||||
|
||||
* [nlohmann/json](https://github.com/nlohmann/json): JSON for Modern C++
|
||||
|
||||
* [picojson](https://github.com/kazuho/picojson): a header-file-only, JSON parser serializer in C++
|
||||
|
||||
* [taocpp/json](https://github.com/taocpp/json): C++ header-only JSON library
|
||||
|
||||
* [toml11](https://github.com/ToruNiina/toml11): TOML for Modern C++
|
||||
|
||||
* [tomlplusplus](https://github.com/marzer/tomlplusplus): Header-only TOML config file parser and serializer for C++17 (and later!).
|
||||
|
||||
* [valijson](https://github.com/tristanpenman/valijson): Header-only C++ library for JSON Schema validation
|
||||
|
||||
* [xml2json](https://github.com/Cheedoong/xml2json): A header-only C++ library converts XML to JSON
|
||||
@@ -57,6 +77,9 @@ A collection of awesome header-only C++ libraries
|
||||
* [matplotlib-cpp](https://github.com/lava/matplotlib-cpp): Extremely simple yet powerful header-only C++ plotting library built on the popular matplotlib
|
||||
|
||||
## Data Processing and Analysis
|
||||
|
||||
* [libmorton](https://github.com/Forceflow/libmorton): C++ header-only library with methods to efficiently encode/decode Morton codes in/from 2D/3D coordinates
|
||||
|
||||
* [kalman](https://github.com/mherb/kalman): Header-only C++11 Kalman Filtering Library (EKF, UKF) based on Eigen3
|
||||
|
||||
* [kfr](https://github.com/kfrlib/kfr): Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON)
|
||||
@@ -65,6 +88,8 @@ A collection of awesome header-only C++ libraries
|
||||
|
||||
## Data Structures
|
||||
|
||||
* [concurrentqueue](https://github.com/cameron314/concurrentqueue/): A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
|
||||
|
||||
* [frozen](https://github.com/serge-sans-paille/frozen): a header-only, constexpr alternative to gperf for C++14 users
|
||||
|
||||
* [hopscotch-map](https://github.com/Tessil/hopscotch-map): C++ implementation of a fast hash map and hash set using hopscotch hashing
|
||||
@@ -77,6 +102,14 @@ A collection of awesome header-only C++ libraries
|
||||
|
||||
* [robin-map](https://github.com/Tessil/robin-map): C++ implementation of a fast hash map and hash set using robin hood hashing
|
||||
|
||||
## Event Handling Mechanisms, State Machines, and Task Systems
|
||||
|
||||
* [eventpp](https://github.com/wqking/eventpp): Event Dispatcher and callback list for C++
|
||||
|
||||
* [tinyfsm](https://github.com/digint/tinyfsm): A simple C++ finite state machine library
|
||||
|
||||
* [transwarp](https://github.com/bloomen/transwarp): A header-only C++ library for task concurrency
|
||||
|
||||
## File System
|
||||
|
||||
* [filesystem](https://github.com/gulrak/filesystem): An implementation of C++17 std::filesystem for C++11 /C++14/C++17 on Windows, macOS, Linux and FreeBSD.
|
||||
@@ -92,7 +125,9 @@ A collection of awesome header-only C++ libraries
|
||||
## GUI
|
||||
* [GuiLite](https://github.com/idea4good/GuiLite): The smallest header-only GUI library(5 KLOC) for all platforms
|
||||
|
||||
## Graphics & Game Development
|
||||
## Geometry, Graphics Processing, and Game Development
|
||||
|
||||
* [cinolib](https://github.com/mlivesu/cinolib): A generic programming header only C++ library for processing polygonal and polyhedral meshes
|
||||
|
||||
* [cr](https://github.com/fungos/cr): cr.h: A Simple C Hot Reload Header-only Library
|
||||
|
||||
@@ -104,8 +139,12 @@ A collection of awesome header-only C++ libraries
|
||||
|
||||
* [nanort](https://github.com/lighttransport/nanort): NanoRT, single header only modern ray tracing kernel.
|
||||
|
||||
* [tiny-differentiable-simulator](https://github.com/google-research/tiny-differentiable-simulator): Tiny Differentiable Simulator is a header-only C++ physics library with zero dependencies.
|
||||
|
||||
* [voxelizer](https://github.com/karimnaaji/voxelizer): Header only mesh voxelizer in c99
|
||||
|
||||
* [vuda](https://github.com/jgbit/vuda): VUDA is a header-only library based on Vulkan that provides a CUDA Runtime API interface for writing GPU-accelerated applications.
|
||||
|
||||
## HTTP and the Web
|
||||
|
||||
* [cinatra](https://github.com/qicosmos/cinatra): modern c++(c++17), cross-platform, header-only, easy to use http framework
|
||||
@@ -116,6 +155,8 @@ A collection of awesome header-only C++ libraries
|
||||
|
||||
## Language Bindings
|
||||
|
||||
* [jni.hpp](https://github.com/mapbox/jni.hpp): A modern, type-safe, header-only, C++14 wrapper for JNI (Java Native Interface)
|
||||
|
||||
* [Selene](https://github.com/jeremyong/Selene): Simple C++11 friendly header-only bindings to Lua
|
||||
|
||||
## Logging
|
||||
@@ -142,7 +183,9 @@ A collection of awesome header-only C++ libraries
|
||||
|
||||
* [ensmallen](https://github.com/mlpack/ensmallen): A header-only C++ library for numerical optimization
|
||||
|
||||
## Parsing
|
||||
## Parsing Expression Grammars
|
||||
|
||||
* [cpp-peglib](https://github.com/yhirose/cpp-peglib): A single file C++ header-only PEG (Parsing Expression Grammars) library
|
||||
|
||||
* [PEGTL](https://github.com/taocpp/PEGTL): Parsing Expression Grammar Template Library
|
||||
|
||||
@@ -160,8 +203,12 @@ A collection of awesome header-only C++ libraries
|
||||
|
||||
* [magic_enum](https://github.com/Neargye/magic_enum): Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
|
||||
|
||||
* [meta](https://github.com/skypjack/meta): Header-only, non-intrusive and macro-free runtime reflection system in C++
|
||||
|
||||
* [nameof](https://github.com/Neargye/nameof): Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
|
||||
|
||||
* [visit_struct](https://github.com/garbageslam/visit_struct): A miniature library for struct-field reflection in C++
|
||||
|
||||
## Regular Expressions
|
||||
|
||||
* [compile-time-regular-expressions](https://github.com/hanickadot/compile-time-regular-expressions): A Compile time PCRE (almost) compatible regular expression matcher.
|
||||
@@ -178,17 +225,27 @@ A collection of awesome header-only C++ libraries
|
||||
|
||||
* [libsimdpp](https://github.com/p12tic/libsimdpp): Portable header-only C++ low level SIMD library
|
||||
|
||||
* [tsimd](https://github.com/ospray/tsimd): Fundamental C++ SIMD types for Intel CPUs (sse, avx, avx2, avx512)
|
||||
|
||||
## Standard/Support Libraries
|
||||
|
||||
* [expected-lite](https://github.com/martinmoene/expected-lite): expected lite - Expected objects in C++11 and later in a single-file header-only library
|
||||
|
||||
* [gsl-lite](https://github.com/gsl-lite/gsl-lite): gsl-lite – A single-file header-only version of ISO C++ Guidelines Support Library (GSL) for C++98, C++11, and later
|
||||
|
||||
* [hana](https://github.com/boostorg/hana): Your standard library for metaprogramming
|
||||
|
||||
## State Machines and Task Systems
|
||||
* [optional-lite](https://github.com/martinmoene/optional-lite): optional lite - A C++17-like optional, a nullable object for C++98, C++11 and later in a single-file header-only library
|
||||
|
||||
* [tinyfsm](https://github.com/digint/tinyfsm): A simple C++ finite state machine library
|
||||
* [span-lite](https://github.com/martinmoene/span-lite): span lite - A C++20-like span for C++98, C++11 and later in a single-file header-only library
|
||||
|
||||
* [transwarp](https://github.com/bloomen/transwarp): A header-only C++ library for task concurrency
|
||||
* [string-view-lite](https://github.com/martinmoene/string-view-lite): string_view lite - A C++17-like string_view for C++98, C++11 and later in a single-file header-only library
|
||||
|
||||
* [variant-lite](https://github.com/martinmoene/variant-lite): variant lite - A C++17-like variant, a type-safe union for C++98, C++11 and later in a single-file header-only library
|
||||
|
||||
## Statistics
|
||||
|
||||
* [stats](https://github.com/kthohr/stats): A C++ header-only library of statistical distribution functions.
|
||||
|
||||
## Templating Engines
|
||||
|
||||
@@ -202,10 +259,14 @@ A collection of awesome header-only C++ libraries
|
||||
|
||||
* [termcolor](https://github.com/ikalnytskyi/termcolor): Termcolor is a header-only C++ library for printing colored messages to the terminal. Written just for fun with a help of the Force.
|
||||
|
||||
## Testing and Verification
|
||||
## Testing Frameworks
|
||||
|
||||
* [Catch2](https://github.com/catchorg/Catch2): A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later
|
||||
|
||||
* [doctest](https://github.com/onqtam/doctest): The fastest feature-rich C++11/14/17/20 single-header testing framework
|
||||
|
||||
* [lest](https://github.com/martinmoene/lest): A modern, C++11-native, single-file header-only, tiny framework for unit-tests, TDD and BDD (includes C++98 variant)
|
||||
|
||||
* [ut](https://github.com/boost-ext/ut): UT: C++20 μ(micro)/Unit Testing Framework
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user