Giter Site home page Giter Site logo

awesome-hpp's Introduction

A curated list of awesome header-only C++ libraries

Argument Parsers

Library Stars Description License
Argh! GitHub stars Argh! A minimalist argument handler. License
argparse GitHub stars Argument Parser for Modern C++. License: MIT
args GitHub stars A simple header-only C++ argument parser library. License: MIT
CLI11 GitHub stars CLI11 is a command line parser for C++11 and beyond. License
clipp GitHub stars Powerful & Expressive Argument Parsing for Modern C++. License: MIT
flags GitHub stars Simple, extensible, header-only C++17 argument parser. License: Unlicense
structopt GitHub stars Parse command line arguments by defining a struct. License: MIT

Audio

Library Stars Description License
minimp3 GitHub stars Minimalistic MP3 decoder single header library. License: CC0-1.0

Benchmarking

Library Stars Description License
nanobench GitHub stars Simple, fast, accurate microbenchmarking for C++11. License: MIT
picobench GitHub stars A small microbenchmarking library for C++11. License: MIT

Compression

Library Stars Description License
Gzip GitHub stars Gzip header-only C++ library. License
zstr GitHub stars A C++ header-only ZLib wrapper. License: MIT

Concurrency

Library Stars Description License
cs_libguarded GitHub stars Multithreaded programming. License
mvThreadPool GitHub stars Simple header-only C++ thread pool library. License: MIT

Cryptography and Security

Library Stars Description License
cppcodec GitHub stars Encode/decode base64, base64url, base32, etc. License: MIT
digestpp GitHub stars     C++11 header-only message digest library. License: Unlicense
PicoSHA2 GitHub stars Feader-file-only, SHA256 hash generator in C++. License: MIT

Databases

Library Stars Description License
OTL Oracle, ODBC and DB2-CLI Template Library.

Data Formats

Library Stars Description License
Boost.JSON GitHub stars JSON parsing, serialization, inspection and modification. License
cpptoml GitHub stars Header-only library for parsing TOML. License: MIT
csv2 GitHub stars Fast CSV parser and writer for Modern C++. License: MIT
CSV Parser GitHub stars Reading, writing, and analyzing CSV files. License: MIT
daw_json_link GitHub stars Static JSON parsing in C++. License: MIT
Fast C++ CSV Parser GitHub stars Fast library for reading CSV files. License
inih GitHub stars This is a header only C++ version of inih. License
nlohmann/json GitHub stars JSON for Modern C++. License: MIT
jsoncons GitHub stars Construct JSON and JSON-like data formats. License
picojson GitHub stars a header-file-only, JSON parser serializer in C++. License
rapidcsv GitHub stars C++ CSV parser library. License
rapidjson GitHub stars A fast JSON parser/generator for C++. License: MIT
rapidxml GitHub stars           RapidXML fork; XML namespacing, per-element parsing, etc. License
simdjson GitHub stars Parsing gigabytes of JSON per second. License
simpleini GitHub stars Read and write INI-style configuration files. License: MIT
taocpp JSON GitHub stars C++ header-only JSON library. License: MIT
toml11 GitHub stars TOML for Modern C++. License: MIT
tomlplusplus GitHub stars TOML config file parser and serializer for >=C++17. License: MIT
tortellini GitHub stars A really stupid INI file format for C++11. License: Unlicense License: MIT
valijson GitHub stars JSON Schema validation. License
xml2json GitHub stars A header-only C++ library converts XML to JSON. License: MIT

Data Mining, Machine Learning, and Deep Learning

Library Stars Description License
dlib GitHub stars A toolkit for real-world machine learning and data analysis. License
frugally deep GitHub stars Use Keras models in C++. License: MIT
hnswlib GitHub stars Fast approximate nearest neighbors. License
MiniDNN GitHub stars A header-only C++ library for deep neural networks. License: MPL 2.0
nanoflann GitHub stars Nearest Neighbor (NN) search with KD-trees. License
tiny-dnn GitHub stars Dependency-free deep learning framework in C++14. License

Data Formatting and Presentation

Library Stars Description License
cxx prettyprint GitHub stars Pretty-printing of any container in C++(0x). License
fmt GitHub stars A modern formatting library. License: MIT
pprint GitHub stars Pretty Printer for Modern C++. License: MIT
tabulate GitHub stars Table Maker for Modern C++. License: MIT

Data Querying

Library Stars Description License
boolinq GitHub stars Simplest C++ header-only LINQ template library. License: MIT

Data Structures and Algorithms

Library Stars Description License
chobo-shl GitHub stars A collection of several stl-like libraries for C++11. License: MIT
concurrent queue GitHub stars Fast multi-producer, multi-consumer lock-free concurrent queue. License License
dynamic bitset GitHub stars The C++17 header-only dynamic bitset. License: MIT
frozen GitHub stars Constexpr alternative to gperf for C++14 users. License
hopscotch map GitHub stars           Fast hash map and hash set using hopscotch hashing. License: MIT
immer GitHub stars Postmodern immutable and persistent data structures. License
MPMCQueue GitHub stars A bounded multi-producer multi-consumer concurrent queue. License: MIT
outcome GitHub stars Lightweight outcome and result. License
parallel hashmap GitHub stars Very fast and memory-friendly hashmap and btree containers. License
robin-hood hashing GitHub stars Fast & memory efficient hashtable based on robin hood hashing. License: MIT
robin-map GitHub stars Fast hash map and hash set using robin hood hashing. License: MIT
tries GitHub stars Fast and highly customisable C++20 trie implementation. License: GPL-2.0

Debugging

Library Stars Description License
backward-cpp GitHub stars A beautiful stack trace pretty printer for C++. License: MIT

Event Handling Mechanisms, State Machines, and Task Systems

Library Stars Description License
eventbus GitHub stars Mediator pattern event bus for C++. License
eventpp GitHub stars Event Dispatcher and callback list for C++. License
taskflow GitHub stars Modern C++ Parallel Task Programming. License: MIT
tinyfsm GitHub stars A simple C++ finite state machine library. License: MIT
transwarp GitHub stars A header-only C++ library for task concurrency. License: MIT

File System

Library Stars Description License
filesystem GitHub stars Cross-platform implementation of std::filesystem for C++11/14/17. License: MIT
llfio GitHub stars P1031 low-Level file i/o and filesystem library. License
mio GitHub stars Cross-platform C++11 memory mapped file IO. License: MIT
tinydir GitHub stars       Lightweight, portable C directory and file reader. License

Functional Programming

Library Stars Description License
FunctionalPlus GitHub stars Functional Programming Library for C++. License

Geometry, Graphics Processing, and Game Development

Library Stars Description License
arcball_camera GitHub stars Immediate-mode camera for your graphics demos. License: Unlicense
cinolib GitHub stars Process polygonal and polyhedral meshes. License: MIT
cr GitHub stars A Simple C Hot Reload Header-only Library. License: MIT
CxxSwizzle GitHub stars Modern C++ swizzling header-only library. License: MIT
earcut.hpp GitHub stars Fast Polygon triangulation. License: ISC
entt GitHub stars Entity component system (ECS) and much more. License: MIT
glm GitHub stars OpenGL Mathematics (GLM). License: MIT
librg GitHub stars 🚀 Making multi-player gamedev simpler since 2017. License                  
nanort GitHub stars Modern ray tracing kernel. License: MIT
px GitHub stars Thread Scheduling, Rendering, and so on. License: MIT
Sokol GitHub stars Cross-platform libraries for C and C++. License: Zlib
stb GitHub stars Single-file public domain libraries. License: MIT
Swarmz GitHub stars Swarming (flocking) library for real-time applications. License: Unlicense
tiny-differentiable-simulator GitHub stars               Tiny Differentiable Simulator is a header-only C++ physics library with zero dependencies. License
tinygltf GitHub stars C++11 tiny glTF 2.0 library. License: MIT
Vookoo GitHub stars Take the pain out of Vulkan. License: MIT
voxelizer GitHub stars Header only mesh voxelizer in c99.

GPU

Library Stars Description License
moderngpu GitHub stars Patterns and behaviors for GPU computing. License                      
vuda GitHub stars                       Vulkan-based library that provides a CUDA Runtime API interface for writing GPU-accelerated applications. License: MIT

GUI

Library Stars Description License
GuiLite GitHub stars The smallest header-only GUI library(5 KLOC) for all platforms. License
Nuklear GitHub stars Immediate mode cross-platform GUI library. License: MIT License: Unlicense
WinLamb GitHub stars C++11 native Win32 GUI library. License: MIT

HTTP and the Web

Library Stars Description License
cinatra GitHub stars Modern (c++17), Cross-platform Http Framework. License: MIT
cpp-httplib GitHub stars A C++11 Cross platform HTTP/HTTPS library. License: MIT
jwt-cpp GitHub stars Create and validate JSON web tokens. License: MIT
RESTinio GitHub stars Asynchronous HTTP/WebSocket server C++14 library License

Image Processing

Library Stars Description License
color-util GitHub stars Colors, Color space converters for RGB, HSL, XYZ, Lab, etc. License: MIT
nanopm GitHub stars NanoPM, single header only PatchMatch.

Language Bindings

Library Stars Description License
jni.hpp GitHub stars A modern, type-safe, C++14 wrapper for JNI. License: MIT
pybind11 GitHub stars Seamless operability between C++11 and Python. License
Selene GitHub stars Simple C++11 friendly bindings to Lua. License: Zlib

Logging

Library Stars Description License
easyloggingpp GitHub stars Single header C++ logging library. License: MIT
plog GitHub stars Portable, simple and extensible C++ logging library. License: MPL 2.0
spdlog GitHub stars Fast C++ logging library. License: MIT

Mathematics

Library Stars Description License
amgcl GitHub stars Solve large sparse linear systems with algebraic multigrid method. License: MIT
dj_fft GitHub stars FFT library. License: MIT License: Unlicense
eigen Template library for linear algebra. License                  
fpm GitHub stars Fixed-point math library. License: MIT
kfr GitHub stars Fast DSP framework, FFT, Sample Rate Conversion, etc. License: GPL v2
libmorton GitHub stars                   Methods to efficiently encode/decode Morton codes in/from 2D/3D coordinates. License: MIT
linalg GitHub stars Short vector math library for C++. License: Unlicense
matplotlib-cpp GitHub stars C++ plotting library built on the popular matplotlib. License: MIT
NumCpp GitHub stars C++ implementation of the Python Numpy library. License: MIT
random GitHub stars Random for modern C++ with convenient API. License: MIT
spectra GitHub stars A header-only C++ library for large scale eigenvalue problems. License: MPL 2.0
universal GitHub stars Universal Number Arithmetic. License: MIT

Memory Management

Library Stars Description License
ugc GitHub stars Incremental garbage collector. License

Mocking

Library Stars Description License
FakeIt GitHub stars C++ mocking made easy. License: MIT
trompeloeil GitHub stars C++14 mocking framework. License

Networking

Library Stars Description License
asio GitHub stars Asio C++ Library.
brynet GitHub stars Cross-platform C++ TCP network library. License: MIT
cppzmq GitHub stars Header-only C++ binding for libzmq. License: MIT
uvw GitHub stars libuv wrapper in modern C++. License: MIT

Optimization

Library Stars Description License
ensmallen GitHub stars C++ library for numerical optimization. License

Parsing Expression Grammars

Library Stars Description License
cpp-peglib GitHub stars PEG (Parsing Expression Grammars) library. License: MIT
PEGTL GitHub stars Parsing Expression Grammar Template Library. License: MIT

Reflection

Library Stars Description License
better-enums GitHub stars C++ compile-time enum to string, iteration. License
magic_enum GitHub stars Static reflection for enums. License: MIT
meta GitHub stars Macro-free runtime reflection system. License: MIT
nameof GitHub stars Nameof operator for modern C++. License: MIT
refl-cpp GitHub stars Compile-time reflection library. License: MIT
visit_struct GitHub stars A miniature library for struct-field reflection. License

Regular Expression

Library Stars Description License
compile-time regular expressions GitHub stars         A Compile time regular expression matcher. License

Robotics

Library Stars Description License
manif GitHub stars Small library for Lie theory. License: MIT

Serialization

Library Stars Description License
cereal GitHub stars A C++11 library for serialization. License
fuser GitHub stars Automatic (de)serialization of C++ types to/from JSON. License: MIT

SIMD

Library Stars Description License
libsimdpp GitHub stars Low-level SIMD library. License
simde GitHub stars Implementations of SIMD instruction sets. License: MIT
tsimd GitHub stars Fundamental C++ SIMD types for Intel CPUs. License: MIT

Standard/Support Libraries

Library Stars Description License
expected-lite GitHub stars Expected objects in C++11 and later. License
gsl GitHub stars ISO C++ Guidelines Support Library (GSL) by Microsoft. License: MIT
gsl-lite GitHub stars ISO C++ Guidelines Support Library (GSL). License: MIT
hana GitHub stars Your standard library for metaprogramming. License
mp11 GitHub stars C++11 metaprogramming library. License
NanoRange GitHub stars Range-based goodness for C++17. License
optional-lite GitHub stars A C++17-like optional for C++98/11 and later. License
range-v3 GitHub stars Range library for C++14/17/20. License
span-lite GitHub stars A C++20-like span for C++98/11 and later. License
string-view-lite GitHub stars A C++17-like string_view for C++98/11 and later. License
variant-lite GitHub stars A C++17-like variant for C++98/11 and later. License

Statistics

Library Stars Description License
histogram GitHub stars Multi-dimensional generalized histograms. License
kalman GitHub stars Kalman Filtering Library (EKF, UKF) based on Eigen3. License: MIT
stats GitHub stars Statistical distribution functions. License

String Utilities

Library Stars Description License
utf-cpp GitHub stars UTF-8/16/32 for Windows/Linux/MacOs. License: MIT
wildcards GitHub stars String matching using wildcards. License

Templating Engines

Library Stars Description License
inja GitHub stars A Template Engine for Modern C++. License: MIT

Terminal Utilities

Library Stars Description License
indicators GitHub stars Activity Indicators for Modern C++. License: MIT
rang GitHub stars A Minimal library for terminal goodies 💄✨. License: Unlicense
termcolor GitHub stars Print colored messages to the terminal. License

Testing Frameworks

Library Stars Description License
ApprovalTests.cpp GitHub stars Native ApprovalTests for C++. License
Catch2 GitHub stars Test framework for unit-tests, TDD and BDD. License
doctest GitHub stars The fastest feature-rich C++11/14/17/20 testing framework. License: MIT
lest GitHub stars Tiny framework for unit-tests, TDD and BDD. License
ut GitHub stars UT: C++20 μ(micro)/Unit Testing Framework. License

Units

Library Stars Description License
mpusz/units GitHub stars Compile-time dimensional analysis and unit/quantity manipulation. License: MIT
nholthaus/units GitHub stars Dimensional analysis and unit conversion library. License: MIT
SI GitHub stars Type safety and user defined literals for physical units. License: MIT

Web Frameworks

Library Stars Description License
crow GitHub stars Micro web framework inspired by Python Flask. License

awesome-hpp's People

Contributors

arrufat avatar developerpaul123 avatar gutjuri avatar hoffstadt avatar ibob avatar jankodedic avatar p-ranav avatar rodrigocfd avatar rsjaffe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.