C++ Cpp17

Open-source C++ projects categorized as Cpp17

Top 23 C++ Cpp17 Projects

  • GitHub repo modern-cpp-tutorial

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

    Project mention: Computer science student. Just figured out what I want to do with my degree. Hacking. | reddit.com/r/hacking | 2021-05-01

    Work in this order: (1) -> (2) --> (3) ---> (4) --> (5) Next Steps: Modern C++11/14/17/20:(https://github.com/changkun/modern-cpp-tutorial)

  • GitHub repo Qv2ray

    :star: Linux / Windows / macOS 跨平台 V2Ray 客户端 | 支持 VMess / VLESS / SSR / Trojan / Trojan-Go / NaiveProxy / HTTP / HTTPS / SOCKS5 | 使用 C++ / Qt 开发 | 可拓展插件式设计 :star:

    Project mention: Twitter suspends Sci-Hub account amid Indian court case | reddit.com/r/Piracy | 2021-01-09
  • GitHub repo entt

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

    Project mention: Understanding ENTT/ECS and cache | reddit.com/r/gamedev | 2021-06-15

    I'm in the process of developing a game using entt to implement ecs, since I've heard that it can help with performance by optimizing memory packing / cache hit rate.

  • GitHub repo Thrust

    The C++ parallel algorithms library.

  • GitHub repo doctest

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

    Project mention: Python 3 Types in the Wild: A Tale of Two Type Systems [pdf] | news.ycombinator.com | 2021-04-14

    Even aside from deliberate backwards-compatibility breaks in the standard, compilers sometimes break compatibility. Both MSVC and GCC 11 have changed their header file transitive includes within the past few years, causing projects (like doctest and Qt5) to stop compiling because they forgot to include headers, which built fine in the past but not anymore. IDK if it's "very common", but it's definitely happening in the wild.

    MSVC: https://github.com/onqtam/doctest/issues/183


    - https://invent.kde.org/qt/qt/qtbase/-/commit/8252ef5fc6d0430...

    - https://invent.kde.org/qt/qt/qtbase/-/commit/cb2da673f53815a...

  • GitHub repo 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: Embedding Lisp in C++ – A Recipe | news.ycombinator.com | 2021-06-08
  • GitHub repo Tendis

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

    Project mention: KeyDB CEO Interview: Getting into YC with a Fork of Redis | news.ycombinator.com | 2021-04-27

    Does anyone have any experience with these other Redis clones? I need to write a benchmark on these someday (the outline for the blog post is already written), but have restricted my yak shaving recently:

    - https://github.com/Tencent/Tendis

    - https://github.com/Netflix/dynomite

    On a separate note, is FLASH supposed to be an acronym? I can't tell if they're referring to flash storage (SSD, NVMe) or they're referring to perhaps a special algorithm that uses flash storage +/- some other features, or some altogether proprietary hardware.

  • GitHub repo 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: I made a new enum implementation for C++ that should simulate stateful enums. Any feedback and improvements is welcome. (Due to macro problems, doesn't work on msvc correctly) | reddit.com/r/cpp | 2021-05-21

    Anyway, have you tried https://github.com/Neargye/magic_enum ? How is you implementation different?

  • GitHub repo compile-time-regular-expressions

    A Compile time PCRE (almost) compatible regular expression matcher.

    Project mention: What can C++ do that Rust can’t? (2021 edition) | reddit.com/r/rust | 2021-05-08

    There is also https://github.com/hanickadot/compile-time-regular-expressions that is written by one of the cpp committee and is meant to be almost as fast burntsushi's regex lib.

  • GitHub repo Elements C++ GUI library

    Elements C++ GUI library

    Project mention: Easiest to Build C++ Library | reddit.com/r/cpp | 2021-02-12

    A declarative UI framework : https://github.com/cycfi/elements

  • GitHub repo libcudacxx

    The C++ Standard Library for your entire system.

    Project mention: Learn C in Y Minutes | news.ycombinator.com | 2021-04-13
  • GitHub repo 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.

    Project mention: Hello everyone, the sources of the open xray stalker engine have been recently updated, which support cross-platform functionality. A question for connoisseurs of homebrew on a switch, can you assemble it on a switch, as was the case with openmw? | reddit.com/r/SwitchHacks | 2021-06-01
  • GitHub repo Osiris

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

    Project mention: Safe? | reddit.com/r/Csgohacks | 2021-06-10
  • GitHub repo PEGTL

    Parsing Expression Grammar Template Library

    Project mention: Rust's Most Unrecognized Contributor | reddit.com/r/rust | 2021-05-02
  • GitHub repo uvw

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

  • GitHub repo Nameof C++

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

    Project mention: Getting an Unmangled Type Name at Compile Time | reddit.com/r/cpp | 2021-03-10
  • GitHub repo rang

    A Minimal, Header only Modern c++ library for terminal goodies 💄✨

  • GitHub repo CppCon2020

    Slides and other materials from CppCon 2020

    Project mention: Weekly Developer Roundup #16 - Sun Oct 04 2020 | dev.to | 2020-10-03

    CppCon/CppCon2020 (C++): Slides and other materials from CppCon 2020

  • GitHub repo Vc

    SIMD Vector Classes for C++

    Project mention: All C++20 core language features with examples | news.ycombinator.com | 2021-04-07

    > - Waiting for Cross-Platform standardized SIMD vector datatypes

    which language has standardized SIMD vector datatypes ? most languages don't even have any ability to express SIMD while in C++ I can just use Vc (https://github.com/VcDevel/Vc), nsimd (https://github.com/agenium-scale/nsimd) or one of the other ton of alternatives, and have stuff that JustWorksTM on more architectures than most languages even support

    - Using nonstandard extensions, libraries or home-baked solutions to run computations in parallel on many cores or on different processors than the CPU

    what are the other native languages with a standardized memory model for atomics ? and, what's the problem with using libraries ? it's not like you're going to use C# or Java's built-in threadpools if you are doing any serious work, no ? Do they even have something as easy to use as https://github.com/taskflow/taskflow ?

    - Debugging cross-platform code using couts, cerrs and printfs

    because people never use console.log in JS or System.println in C# maybe ?

    - Forced to use boost for even quite elementary operations on std::strings.

    can you point to non-trivial java projects that do not use Apache Commons ? Also, the boost string algorithms are header-only so you will end up with exactly the same binaries that if it was in some std::string_algorithms namespace:


  • GitHub repo pfr

    std::tuple like methods for user defined types without any macro or boilerplate code

    Project mention: Counting the number of fields in an aggregate in C++20 | reddit.com/r/cpp | 2021-03-14

    It is an 'interesting' meta-programming problem though (wasted many weeks on it myself, fixed a small gcc bug - a 'uniform init' edge case and filed an issue with magic_get Reflecting array members of aggregate structs).

  • GitHub repo Turbo Vision

    A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.

    Project mention: Raw keyboard handling in Unix terminals | news.ycombinator.com | 2021-05-20
  • GitHub repo filesystem

    An implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD. (by gulrak)

    Project mention: Non C++17, or Boost way to mkdir | reddit.com/r/cpp_questions | 2021-03-02
  • GitHub repo lithium

    Easy to use C++17 HTTP Server with no compromise on performances. https://matt-42.github.io/lithium

    Project mention: cpprestsdk in maintenance mode | reddit.com/r/cpp | 2021-06-08

    If you need an embedded C++ HTTP server then there are plenty of libraries/frameworks (in random order): Crow, RESTinio, Boost.Beast, cpp-httplib, http_backend, Pistache, RestBed, served, proxygen, Simple-Web-Server, drogon, oat++.

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 2021-06-15.


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

Project Stars
1 modern-cpp-tutorial 13,467
2 Qv2ray 10,803
3 entt 5,276
4 Thrust 3,332
5 doctest 3,318
6 sol2 2,576
7 Tendis 2,089
8 Magic Enum C++ 1,916
9 compile-time-regular-expressions 1,905
10 Elements C++ GUI library 1,781
11 libcudacxx 1,733
12 xray-16 1,595
13 Osiris 1,564
14 PEGTL 1,345
15 uvw 1,266
16 Nameof C++ 1,102
17 rang 1,090
18 CppCon2020 1,037
19 Vc 1,023
20 pfr 932
21 Turbo Vision 706
22 filesystem 662
23 lithium 637