Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 header-only Open-Source Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
FTXUI
Features: - Functional style. Inspired by [1] and React - Simple and elegant syntax (in my opinion). - Support for UTF8 and fullwidth chars (→ 测试). - No dependencies. - Cross platform. Linux/mac (main target), Windows (experimental thanks to contributors), - WebAssembly. - Keyboard & mouse navigation. Operating systems: - linux emscripten - linux gcc - linux clang - windows msvc - mac clang
-
Magic Enum C++
Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
-
Nameof C++
Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
-
uvw
Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
I have not done a "desktop" program in 25+ years and never using C++ (or C), since then I'm mostly a web developer (PHP,Elixir, JS, Kotlin etc).
I'm currently doing a C++ audio plugin with the Juce framework.
This website has been a good resource, alongside https://www.learncpp.com
But I was actually close to give up before using those two things:
- https://github.com/nlohmann/json : my plugin use a json api backend and the Juce json implementation is atrocious (apparently because of being born in previous c++ version), but this library is GREAT.
- ChatGPT 4. I'm not sure I would have "succeeded" without it, at least not in a reasonable time frame. ChatGPT 3.5 is slow and does not give good results for my use case but 4 is impressive. And I use in a very dumb way, just posing question in the web UI. I probably could have it directly in MSVC?
Also I must say, for all its flaws, I have a renewed appreciation for doing UI on the web ;)
Project mention: Show HN: Logfmtxx – Header only C++23 structured logging library using logfmt | news.ycombinator.com | 2024-04-03Why a new lib instead of using or contributing to an existing one as spdlog?
https://github.com/gabime/spdlog
Alternatives at the low to medium level of abstraction include civetweb and mongoose, which have a common ancestor. Both of these appear to be C rather than C++, but seem to be production quality and well-documented. Another C library is cpp-httplib, which is probably too low-level for me.
Project mention: Using Jolt with flecs & Dear ImGui: Game Physics Introspection | dev.to | 2024-04-17EnTT is a popular alternative to flecs for C++, which has different performance/memory characteristics.
Project mention: Bombed an interview and trying to figure out how to pivot. Any advice on on increasing code literacy and filling in knowledge gaps from EE? | /r/embedded | 2023-12-06
Project mention: What C++ library do you wish existed but hasn’t been created yet? | /r/cpp | 2023-07-08I'm not sure this is quite what you're asking for, but this library has been super helpful to me in the past : https://github.com/Neargye/magic_enum
CTRE (https://github.com/hanickadot/compile-time-regular-expressions) ranges::views (filter, transform, etc.) (C++20) str.find() + str.substr() freopen to stdin + cin >> extraction Parser libraries
I'm investigating using C++ to build a REST server, and would love to know of people's experiences with Crow-- or whether they would recommend something else as a "medium-level" abstraction C++ web server. As background, I started off experimenting with Python/FastAPI, which is great, but there is too much friction to translate from pybind11-exported C++ objects to the format that FastAPI expects, and, of course, there are inherent performance limitations using Python, which could impact scaling up if the project were to be successful.
Alternatives are glog from Google is full-featured, like spdlog, while Plog offers a lightweight alternative. Both are worthy upgrades on using C++ built-in std::clog.
Hoogle is really amazing!
Inspired by it, I implemented something similar for FunctionalPlus (a functional-programming library for C++): https://www.editgym.com/fplus-api-search/
I'd love to see more projects taking this path too. :)
Project mention: Show HN: Matcheroni, a tiny C++20 header library for building lexers/parsers | news.ycombinator.com | 2023-07-06Very cool, and I like the name!
I'd be interested in reading about how Matcheroni compares with PEGTL and Lexy.
https://github.com/taocpp/PEGTL
https://github.com/friendlyanon/cmake-init This is how you do CMake properly. If you deviate from its install rules you are highly likely to do something wrong.
header-only related posts
-
Using Jolt with flecs & Dear ImGui: Game Physics Introspection
-
Show HN: Logfmtxx – Header only C++23 structured logging library using logfmt
-
Functional Terminal User Interface
-
C++ Game Utility Libraries: for Game Dev Rustaceans
-
Out of bounds memory access in V8 in Google Chrome prior to 120.0.6099.224
-
Show HN: Header only C++23 library for gamedev (back end agnostic)
-
Boost.Scope: collection of scope guard utilities
-
A note from our sponsor - InfluxDB
www.influxdata.com | 23 May 2024
Index
What are some of the best open-source header-only projects? This list will help you:
Project | Stars | |
---|---|---|
1 | json | 40,631 |
2 | spdlog | 22,551 |
3 | cpp-httplib | 11,959 |
4 | entt | 9,548 |
5 | GLM | 8,777 |
6 | Crow | 7,407 |
7 | GuiLite | 7,199 |
8 | FTXUI | 6,205 |
9 | doctest | 5,633 |
10 | Magic Enum C++ | 4,481 |
11 | awesome-hpp | 3,229 |
12 | compile-time-regular-expressions | 3,181 |
13 | indicators | 2,852 |
14 | Crow | 2,819 |
15 | argparse | 2,402 |
16 | plog | 2,100 |
17 | palanteer | 2,044 |
18 | FunctionalPlus | 2,026 |
19 | Nameof C++ | 1,965 |
20 | PEGTL | 1,877 |
21 | cppzmq | 1,850 |
22 | cmake-init | 1,855 |
23 | uvw | 1,779 |
Sponsored