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 C++ no-dependency Projects
-
Catch
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
-
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.
-
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
-
CLI11
CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.
-
Nameof C++
Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
-
refl-cpp
Static reflection for C++17 (compile-time enumeration, attributes, proxies, overloads, template functions, metaprogramming).
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
UNITS
a compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies.
-
unordered_dense
A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion
-
span-lite
span lite - A C++20-like span for C++98, C++11 and later in a single-file header-only library
-
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
-
expected-lite
expected lite - Expected objects in C++11 and later in a single-file header-only library
-
au
A C++14-compatible physical units library with no dependencies and a single-file delivery option. Emphasis on safety, accessibility, performance, and developer experience. (by aurora-opensource)
-
ring-span-lite
ring-span lite - A C++yy-like ring_span type for C++98, C++11 and later in a single-file header-only library
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
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: 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
Book: CLI11 book
Project mention: Out of bounds memory access in V8 in Google Chrome prior to 120.0.6099.224 | news.ycombinator.com | 2024-01-25You'd be surprised how much friction you'd have for C++ reflection. First, since it's a custom build step, you can do a mix of custom code gen and C++ constexpr/consteval for static reflection. Here's a header-only implementation for adding compile time reflection purely within the language [1]. And v8 already does dynamic code gen as part of its build process (to generate the snapshot to speedup instantiation of the isolate). Dynamic reflection is a must since JS is a dynamic language with reflection support.
Now of course, I don't know the specific details of reflection needed for the abstractions you reference and clearly V8 is still doing some amount of manual IR generation, so it's possible it would be a substantial investment to actually retrofit those techniques into v8. One would have to do a careful analysis of historical security exploits & specific techniques and their ability to prevent to figure out if it's worth adding those abstractions (especially since there is a potential performance tradeoff as you mention). As I said, I think there's insufficient research in this area to establish a compelling body of best practices (not to take away from the contributions of the GraalJS team to this space).
[1] https://github.com/veselink1/refl-cpp
C++ Version
Project mention: unordered_dense: A Fast & Densely Stored Hashmap And Hashset Based On Robin-Hood Backward Shift Deletion | /r/programming | 2023-07-11
Project mention: nanoprintf VS callback_printf - a user suggested alternative | libhunt.com/r/nanoprintf | 2023-08-16
Project mention: An Introduction to Low-Latency Scripting for Game Engines | news.ycombinator.com | 2024-05-27
Project mention: uni-algo: Unicode Algorithms Implementation for C/C++ | news.ycombinator.com | 2024-03-25
C++ no-dependencies related posts
-
`DestroyJavaVM()` failing on OpenJ9?
-
[Cpp] Comment testez-vous la couverture du code C ++? Y a-t-il des solutions multiplateforme viables?
-
Is there a std::string::split or something similar?
-
If you limit an std::string in a class to be < 15 characters, can you assume that any time the string is read it will stay on the stack due to SSO?
-
std::expected (with monadic interface) implementation in C++20 (P0323, P2505)
-
GitHub - martinus/svector: Small Vector optimization
-
C++ Return: std::any, std::optional, or std::variant?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 1 Jun 2024
Index
What are some of the best open-source no-dependency projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Catch | 18,112 |
2 | entt | 9,577 |
3 | Magic Enum C++ | 4,492 |
4 | CLI11 | 3,137 |
5 | Nameof C++ | 1,982 |
6 | tomlplusplus | 1,422 |
7 | refl-cpp | 1,015 |
8 | UNITS | 924 |
9 | unordered_dense | 775 |
10 | nanoprintf | 581 |
11 | span-lite | 493 |
12 | libriscv | 482 |
13 | string-view-lite | 403 |
14 | expected-lite | 353 |
15 | au | 301 |
16 | leaf | 289 |
17 | semver | 289 |
18 | result | 265 |
19 | uni-algo | 249 |
20 | scope_guard | 160 |
21 | influxdb-cpp | 156 |
22 | ring-span-lite | 147 |
23 | bredis | 146 |
Sponsored