C++ Cpp17

Open-source C++ projects categorized as Cpp17

Top 23 C++ Cpp17 Projects

  • modern-cpp-tutorial

    📚 Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/

    Project mention: interview preparation | reddit.com/r/cpp | 2022-04-30
  • entt

    Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more

    Project mention: Enums In C++, Choice is Oft Beguiled | reddit.com/r/cpp | 2022-11-18

    Now you can make use of operator| and operator&. Here is the full source. It'll be a bit better when it's ported to C++20 with concepts, as the SFINAE produces the usual ugly error messages with enable_if.

  • Zigi

    Delete the most useless function ever: context switching.. Zigi monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack! Plus it reduces cycle time by up to 75%.

  • doctest

    The fastest feature-rich C++11/14/17/20 single-header testing framework

    Project mention: Memory Safety in the D Programming Language (Part 2 of N) | reddit.com/r/programming | 2022-10-08

    This is, honestly, super easy to get going. Nowadays you have a ton of libraries and more-than-decent build systems. With Meson/CMake and Conan/Vcpkg I can set up a project with testing in 3 minutes. Also, I think that at the end of the day you want your tests to live somewhere else. But if you want to embed them, you also have https://github.com/doctest/doctest.

  • Thrust

    The C++ parallel algorithms library.

    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)

  • 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

    Project mention: Error: Boost bimap can't convert const CompatibleKey to Key& | reddit.com/r/cpp_questions | 2022-11-22

    Also if you want to convert enum members to string representation I suggest you just use magic_enum instead, much smaller dependency.

  • sol2

    Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:

    Project mention: CBN Changelog: December 3, 2022. Improved LUA support in progress! | reddit.com/r/cataclysmbn | 2022-12-03

    This version relies on a Lua C++ wrapper called sol2 to hide Lua stack management from the developer, so creating new bindings can be done by adding a few lines of human-readable C++. It still has to be done manually, but at least sol2 is able to automatically figure out types of objects being bound, so it's not much different from our de-/serialization code.

  • compile-time-regular-expressions

    Compile Time Regular Expression in C++

    Project mention: Regex is comically slow. High performance alternatives? (Pattern matching for validation) | reddit.com/r/cpp_questions | 2022-11-19
  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • Osiris

    Free open-source game cheat for Counter-Strike: Global Offensive, written in modern C++. GUI powered by Dear ImGui.

    Project mention: skin changer | reddit.com/r/Csgohacks | 2022-10-12
  • Tendis

    Tendis is a high-performance distributed storage system fully compatible with the Redis protocol.

    Project mention: I deleted 78% of my Redis container and it still works | news.ycombinator.com | 2022-07-16
  • Elements C++ GUI library

    Elements C++ GUI library

    Project mention: Boost.URL ACCEPTED, get the beta now! | reddit.com/r/cpp | 2022-11-10

    It's a complex domain. The closest we have at the moment is Elements which hasn't been proposed for Boost (yet?) but is by Joel de Guzman, the primary author of Boost.Spirit.

  • xray-16

    Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)

    Project mention: What mods/mod packs are you looking forward to and why? | reddit.com/r/stalker | 2022-10-29
  • cppinsights

    C++ Insights - See your source code with the eyes of a compiler

    Project mention: Ask HN: Best way to learn C++ in 2022 | news.ycombinator.com | 2022-10-09

    > https://cppinsights.io/ it's a must so you can investigate what gets generated by templates behind the scenes.

    > http://eel.is/c++draft/ bookmark this, you will need it!

    Now, about books I would suggest the latest "A tour of C++" by Bjarne Stroustrup; it's ideal for experienced programmers that want to learn modern C++ rather fast.

    Other books would be Scott Meyers' Effective Series, Andrei Alexandrescu and Herb Sutter are a must, and of course Jason Turner's "C++ Weekly" series [1]; of course apart from the books, the links I have originally shared are more than enough to cover everything around C++.

    [1] https://www.youtube.com/c/lefticus1/videos

  • libcudacxx

    The C++ Standard Library for your entire system.

    Project mention: Is it better to learn c or c++ for cuda? | reddit.com/r/CUDA | 2022-04-17

    If you are thinking of using new features through https://github.com/NVIDIA/libcudacxx , you'll have to learn c++

  • HPX

    The C++ Standard Library for Parallelism and Concurrency

    Project mention: Getting started with first HPC project | reddit.com/r/cpp | 2022-11-23

    You definitely do not want to learn Boost, trust me. The cudatoolkit is fine, HPX is great, so are Dask, and Ray. I do not recommend MPI unless those computers you have use InfiniBand.

  • eos

    A lightweight 3D Morphable Face Model library in modern C++ (by patrikhuber)

    Project mention: Help needed for distance measurement on image | reddit.com/r/computervision | 2022-03-02

    Use Aruco markers instead, calculate whole pose (from Aruce, it is in opencv). The question what do you need it for? I assume for some dataset or testing. Btw, you can try calculating morphable face model from here: https://github.com/patrikhuber/eos, this won't give you scale, but you can assume some eye to eye distance (or measure separately).


    Parsing Expression Grammar Template Library

    Project mention: What are some cool modern libraries you enjoy using? | reddit.com/r/cpp | 2022-09-18

    I like PEGTL

  • CppCon2020

    Slides and other materials from CppCon 2020

  • boden

    Purely native C++ cross-platform GUI framework for Android and iOS development. https://www.boden.io

    Project mention: Ask HN: Who wants to be hired? (March 2022) | news.ycombinator.com | 2022-03-01

    Remote: Yes

    Willing to relocate: Yes

    Technologies: Frontend + backend, C/C++, Objective-C, TypeScript, JavaScript/ES6, Node.js, Vue/React, AWS, Python, Go, Ruby, Postgres, MySQL

    Résumé/CV: on request

    Email: [email protected]

    Co-author of https://github.com/AshampooSystems/boden/, https://www.boden.io/

    Currently COO at a SaaS startup. Prior to that, Head of Engineering at another company in the audio software industry. More than 12 years of management and development experience in numerous international projects. I have worked in both native and web development. I am a generalist with deep technical roots who is capable of quickly learning and adapting to new requirements.

    Looking for a new challenge either in management or software engineering.

  • uvw

    Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!

  • argparse

    Argument Parser for Modern C++

    Project mention: argparse v2.9 released - now with support for subcommands, nargs, prefix_chars, metavar, parse_known_args, improved help messages and more | reddit.com/r/cpp | 2022-09-22
  • Nameof C++

    Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum

    Project mention: Added reflection to C++ just to make my game work. | reddit.com/r/gamedev | 2022-10-27

    In general, nameof for reflection

  • userver

    The C++ Asynchronous Framework (beta)

    Project mention: Who is using C++ for web development? | reddit.com/r/cpp | 2022-10-04

    Yandex uses a lot for backend. Also released this framework

  • tabulate

    Table Maker for Modern C++ (by p-ranav)

    Project mention: Libraries | reddit.com/r/cpp_questions | 2021-12-07


  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-12-03.

C++ Cpp17 related posts


What are some of the best open-source Cpp17 projects in C++? This list will help you:

Project Stars
1 modern-cpp-tutorial 19,324
2 entt 7,437
3 doctest 4,398
4 Thrust 4,282
5 Magic Enum C++ 3,241
6 sol2 3,215
7 compile-time-regular-expressions 2,583
8 Osiris 2,557
9 Tendis 2,485
10 Elements C++ GUI library 2,435
11 xray-16 2,183
12 cppinsights 2,102
13 libcudacxx 2,091
14 HPX 2,064
15 eos 1,729
16 PEGTL 1,631
17 CppCon2020 1,571
18 boden 1,557
19 uvw 1,520
20 argparse 1,496
21 Nameof C++ 1,487
22 userver 1,453
23 tabulate 1,419
Free webinar: The Power of Clean C++
Are you ready to take your C++ code to the next level? Join Sonar on December 7th for our live webinar as we discuss how to get your code clean - and stay clean - with minimal effort and without being overloaded with warnings. Register now!