gui_starter_template
concurrencpp
gui_starter_template | concurrencpp | |
---|---|---|
19 | 16 | |
2,391 | 2,067 | |
- | - | |
3.4 | 1.2 | |
about 1 year ago | 1 day ago | |
CMake | C++ | |
The Unlicense | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gui_starter_template
-
I am finding it incredibly hard to write software in CPP. Where can I get a book for software development in CPP ?
Was checking that as well, can't find it indeed. I would recommend looking into the following: https://github.com/cpp-best-practices/gui_starter_template
-
Collecting the best C++ practices
gui_starter_template. This is a C++ Best Practices GitHub template for getting up and running with C++ quickly.
-
Not adopting newer C++ standards
Next to language versions, spend time setting up your build system (CMake?) with all bells and whistles. You want unit tests, clang-tidy, include-what-you-use, sanitizers, fuzzing, clang-format, package managers. Just take a look at https://github.com/cpp-best-practices/gui_starter_template
-
Good repos for beginners to browse that follow best modern C++ practices (including testing, static analysis etc...)
https://github.com/cpp-best-practices/gui_starter_template from Jason Turner (aka lefticus) is quite a popular one (2.1k stars in Github)
-
The pool of talented C++ developers is running dry
I actually just tried to play around with what seems to be a "modern c++" boilerplate project.
It uses CMake, conan for packaging, clang-tidy and cpp-check, and has templates for fuzz and unit testing[1].
I found it because qtcreator and kdevelop were weirdly clunky and created partly broken qt projects and I figured I wanted to add a package manager and qt to the mix.
The template looks really fancy, but it's so incredibly slow, to the point of being unusable.
It's a ramble yes. But the point is modern C++ tools seem to have added some niceties to the language, but they also brought more of the main C++ issues, i.e. slow compile times and nasty boilerplate in the build process. Yes, I realize CMake isn't modern and there are a bunch of new build tools.
[1] https://github.com/cpp-best-practices/gui_starter_template
-
clang-tidy: Which check flags you typically use?
Clang-tidy file of the C++ Project Template
- Ask HN: Who is using C++ as the main language for new project?
-
Package and project management in C++
For cmake i find this useful: https://cliutils.gitlab.io/modern-cmake/ https://github.com/cpp-best-practices/gui_starter_template
-
How would you create/maintain a new c++ project using modern tools/practices?
Jason Turner (known from cppcast) has following project: https://github.com/cpp-best-practices/cpp_starter_project
-
Recommendations for modern C++ project structures
this is a cpp_question, but anyway, I think this is exactly what you're looking for. Credits go to Jason Turner.
concurrencpp
-
Is anyone using coroutines seriously?
I am using concurrencpp for my project. What I like about it is that it's basically a thread pool factory with coroutines. It allows for better structuring / organizing of multithreaded work. So for me the main advantage of coroutines is that the code looks easier to follow
- Concurrencpp – a C++20 library for coroutines and executors
-
Comparing asio to unifex
Equivalent concurrencpp code:
-
Do you think the current asynchronous models (executors, senders) are too complicated and really we just need channels and coroutines running on a thread pool?
I agree. I use concurrencpp for the exact use case you described - coroutines running on simple-to-understand-executors which return some asynchronous pipe for communication.
- concurrencpp version 0.1.6 has been released!
-
What happens if you co_await a std::future, and why is it a bad idea? - The Old New Thing
If you look at concurrencpp, you can control exactly where and how coroutines are resumed, using executors.
-
Collecting the best C++ practices
concurrencpp. Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all.
-
C++ Coroutines from scratch - Phil Nash - Meeting C++ 2022
Just use a good third party library like concurrencpp .
-
Header-only C++14 quality thread pool
Hi, I am looking for a header-only C++14 (or lower) quality thread pool. Ideally, it would be similar to BS::thread_pool but in C++14. Most of them I find on GitHub are bloated (e.g. concurrencpp) or have many open Issues. Ideal usage would be similar to:
-
Good repos for beginners to browse that follow best modern C++ practices (including testing, static analysis etc...)
I use concurrencpp for my asynchronous code and the repo is written in modern cpp, with tests, sanitizers and what not.
What are some alternatives?
ModernCppStarter - 🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
libunifex - Unified Executors
sanitizers - AddressSanitizer, ThreadSanitizer, MemorySanitizer
asio-grpc - Asynchronous gRPC with Asio/unified executors
honggfuzz - Security oriented software fuzzer. Supports evolutionary, feedback-driven fuzzing based on code coverage (SW and HW based)
sobjectizer - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
json - JSON for Modern C++
PhotonLibOS - Probably the fastest coroutine lib in the world!
windmap
coost - A tiny boost library in C++11.
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)
ue5coro - A gameplay-focused C++17/20 coroutine implementation for Unreal Engine 5.