Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →
Top 23 C++ Cpp20 Projects
-
modern-cpp-tutorial
📚 Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/
Project mention: Learning platform for modern C++ with online exercises | reddit.com/r/cpp_questions | 2023-02-11I'm going through this Modern C++ Tutorial right now. I didn't need to relearn what inheritance is, just the new language features that are useful.
-
As a way to force myself to learn more about game engines I've created asimov-ts. While doing it, I tried to refrain from looking at other ECS implementations as much as possible and use only more theoretical sources. As a result, I think it's a bit different from other stuff I've seen like EnTT and bevy_ecs.
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
Hyprland
Hyprland is a highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
Project mention: Which technology / protocol etc. is the next big thing, coming the next few years in Linux gaming? | reddit.com/r/linux_gaming | 2023-03-20- Direct scanout
-
Do the README and tutorial not explain it well enough? It's a framework for automated unit testing.
-
Project mention: Parallel Computations in C++: Where Do I Begin? | reddit.com/r/learnprogramming | 2022-09-23
For a higher level GPU interface, Thrust provides "standard library"-like functions that run in parallel on the GPU (Nvidia only)
-
Project mention: Verify all characters are same except a few | reddit.com/r/cpp_questions | 2023-03-09
Yes to regex, no to std::regex. Better to use CTRE. Something like "^Hello [0-9]+ how are you" should allow checking if there's a match
-
Osiris
Free open-source game cheat for Counter-Strike: Global Offensive, written in modern C++. GUI powered by Dear ImGui.
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
-
If you are thinking of using new features through https://github.com/NVIDIA/libcudacxx , you'll have to learn c++
-
concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
Project mention: What happens if you co_await a std::future, and why is it a bad idea? - The Old New Thing | reddit.com/r/cpp | 2023-02-18If you look at concurrencpp, you can control exactly where and how coroutines are resumed, using executors.
-
Project mention: 'Fortnite' studio hit with £201million fine and ordered to stop tricking players | reddit.com/r/gaming | 2023-03-17
Pro tip to league players who wants skins but don't want to spend money: https://github.com/R3nzTheCodeGOD/R3nzSkin
-
filesystem
An implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD.
Project mention: Rust's recursive directory iterator 5x faster than CPP | reddit.com/r/rust | 2022-06-16On C++ side you may also try ghc::filesystem. It may cache more data fro directory entry.
-
Unless you want to make your own config file parser as an exercise (which is a good idea) I'd recommend using toml++.
-
It was not easy, I had to modify Boost UT to get it to run my tests. It doesn't support type-parametrized tests when the type parameter is non-copiable, which was the case for me. This is a symptom of a larger issue, which is that it relies on std::apply and std::tuple to generate the type-parametrized tests, which in turns requires instantiating the tuple and the contained objects (even though these instances aren't actually used; eh). That's a no go for me, since I need to carefully monitor when instance are created, and this was throwing off my test code. I had to effectively disable these checks to get it to run without failures. Then there was a similar issue with expect(), which doesn't work if part of the expression is non-copiable. I reported these issues to them.
-
-
-
Project mention: quill v2.7.0 released - Asynchronous Low Latency C++ Logging Library | reddit.com/r/u_Junior-Homework-4581 | 2023-02-06
-
async_simple https://github.com/alibaba/async_simple
-
-
Project mention: Bucaneering games. (Basically being a pirate - but not pirating games) | reddit.com/r/opensourcegames | 2022-09-21
If you are fine with open source engine + proprietary data then you can check: https://store.steampowered.com/app/223330/Sea_Dogs_To_Each_His_Own__Pirate_Open_World_RPG/ Engine source code: https://github.com/storm-devs/storm-engine
-
units
A compile-time enabled Modern C++ library that provides compile-time dimensional analysis and unit/quantity manipulation. (by mpusz)
Project mention: Why is this piece of code compiling with char as c-tor argument? | reddit.com/r/cpp_questions | 2023-02-07Yep. And there are some libraries to provide strong-type int, depending on what you need: type_safe or even units.
-
Project mention: Vulkan all the way: Transitioning to a modern low-level graphics API in academia | reddit.com/r/programming | 2023-03-07
Sorry for late response! The one I like most is LibLava https://github.com/liblava/liblava I contributed a few features that it was missing for me, and a few other people have done the same, so it's somewhat battle tested. At least two people have used it in academic projects. I like that it gives you full access to the low level parts of Vulkan while still providing high level abstractions over a lot, especially the render loop. The biggest issue imo is lackluster documentation, but it's fairly well organized and readable source code. Build times are also pretty long due to its many dependencies.
-
Project mention: Is there an exception that I could throw if there is a path that should never run. | reddit.com/r/cpp_questions | 2023-01-30
have a look at https://github.com/mpark/variant
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ Cpp20 related posts
- [Need help] Workspace single screen
- arandr on wayland?
- how to minimize windows ?
- Hyprland Noob, Need Help
- Firefox crashes when trying to share screen.
- Ichor v0.2.0: C++ Framework for Event Loops, Dependency Injection and More
- Ichor v0.2.0: C++ Framework for Event Loops, Dependency Injection and premade services, now supports constructor injection
-
A note from our sponsor - InfluxDB
www.influxdata.com | 21 Mar 2023
Index
What are some of the best open-source Cpp20 projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | modern-cpp-tutorial | 20,270 |
2 | entt | 7,891 |
3 | Hyprland | 6,705 |
4 | doctest | 4,707 |
5 | Thrust | 4,428 |
6 | compile-time-regular-expressions | 2,711 |
7 | Osiris | 2,708 |
8 | cppinsights | 2,240 |
9 | libcudacxx | 2,173 |
10 | concurrencpp | 1,322 |
11 | R3nzSkin | 1,313 |
12 | filesystem | 1,061 |
13 | tomlplusplus | 1,027 |
14 | ut | 998 |
15 | stdgpu | 853 |
16 | oof | 792 |
17 | quill | 780 |
18 | async_simple | 770 |
19 | Hypr | 763 |
20 | storm-engine | 727 |
21 | units | 707 |
22 | liblava | 604 |
23 | variant | 601 |