InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more β
Top 23 header-only Open-Source Projects
-
[dependencies] json = { git = "https://github.com/nlohmann/json.git", tag = "v3.11.2" }
-
InfluxDB
InfluxDB β Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
Project mention: π Zyn 1.0.2 Released β Smarter Builds, Powerful Debugging, Cleaner Workflow | dev.to | 2025-05-11
π¦ Add Dependencies with zyn add You can now easily add Git-based dependencies to your project using a simple command: zyn add https://github.com/gabime/spdlog
-
-
-
Project mention: RGFW: Single-header C99 window abstraction library | news.ycombinator.com | 2024-11-22
The one big downside I see is that if you want to actually work on the library itself, it's a pain to have to re-compile the entire thing every time you change something.
Nuklear (https://github.com/Immediate-Mode-UI/Nuklear) uses separate files with a deploy script that combines them all into a single header; I think that approach is quicker for iterating on the code.
-
As for math, that was the easiest choice as of yet. No doubt, GLM is a "gold standard" at this point. For OpenGL it is, at least. But, like with a lot of the other APIs, I decided to build a wrapper around it rather than directly reference the library in the engine's code. And for physics, well, I had not come upon that answer just yet. I did try to make my own physics logic at some point. And while it was, surprisingly, successful, I wanted more than just a simple physics layer. I wanted something more complex and, more importantly, faster than my implementation. I have not decided upon a physics library yet. But I'll cross that bridge when I come to it.
-
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
But then i'm an engineer and doing things in organize manner is what i am supposed to do. And one day i came to this repo FXTUI a fantastic C++ library for creating terminal user interfaces, so i started building tuisic.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
catch2 has become fairly bloated. doctest takes all of the best parts of catch2 without all the bloat and the end result is a test framework that is literally over 10x faster than catch2. It's also like 90% compatible with catch2 so porting your tests to it is pretty easy.
Especially if you have a build process that always runs your unit tests, it's nice to have a very fast test/compile/debug loop.
https://github.com/doctest/doctest
-
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
-
-
-
The problem can occur in general if there is a greedy match within the regex: https://github.com/hanickadot/compile-time-regular-expressio...
Although it looks like that this got fixed for simple patterns.
-
-
-
-
-
Project mention: CMake-init β The missing CMake project initializer | news.ycombinator.com | 2024-07-16
-
-
Nameof C++
Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
header-only discussion
header-only related posts
-
π Zyn 1.0.2 Released β Smarter Builds, Powerful Debugging, Cleaner Workflow
-
Show HN: Hexi, modern header-only network binary serialisation for C++ hackers
-
Abusing C to Implement JSON Parsing with Struct Methods
-
Starting Up The Engine - Nikola Game Engine Devlog 1
-
Making a performant audio capture systemβ‘ππ¨
-
C: Simple Defer, Ready to Use
-
Implementing Regular Expressions in TypeScript Types (Badly)
-
A note from our sponsor - InfluxDB
www.influxdata.com | 24 May 2025
Index
What are some of the best open-source header-only projects? This list will help you:
# | Project | Stars |
---|---|---|
1 | json | 45,756 |
2 | spdlog | 26,201 |
3 | cpp-httplib | 14,327 |
4 | entt | 11,060 |
5 | nuklear | 9,978 |
6 | GLM | 9,902 |
7 | FTXUI | 8,230 |
8 | Crow | 7,595 |
9 | GuiLite | 7,482 |
10 | doctest | 6,218 |
11 | Magic Enum C++ | 5,432 |
12 | Crow | 3,885 |
13 | awesome-hpp | 3,732 |
14 | compile-time-regular-expressions | 3,551 |
15 | indicators | 3,183 |
16 | argparse | 3,058 |
17 | proxy | 2,649 |
18 | plog | 2,330 |
19 | cmake-init | 2,304 |
20 | FunctionalPlus | 2,190 |
21 | Nameof C++ | 2,190 |
22 | palanteer | 2,138 |
23 | cppzmq | 2,107 |