Cpp17

Open-source projects categorized as Cpp17
Language: + C++ + HTML + C + Python

Top 23 Cpp17 Open-Source Projects

  • modern-cpp-tutorial

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

  • modern-cpp-features

    A cheatsheet of modern C++ language and library features.

    Project mention: Ask HN: Catching Up on C++? | news.ycombinator.com | 2024-02-20

    Just go through this https://github.com/AnthonyCalandra/modern-cpp-features and you should be fine.

    If you also like thorough explanations and graphs, there's https://hackingcpp.com/ that could answer many questions you might have.

    By the way, just in case, bookmark this online C++ reference https://eel.is/c++draft/ for diving in deep waters.

    Good luck!

  • 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.

  • awesome-modern-cpp

    A collection of resources on modern C++

  • Modern-CPP-Programming

    Modern C++ Programming Course (C++11/14/17/20/23)

    Project mention: C++ learning | /r/cpp | 2023-12-07

    Posted not so long ago https://github.com/federico-busato/Modern-CPP-Programming

  • Minetest

    Minetest is an open source voxel game-creation platform with easy modding and game creation

    Project mention: any free minecraft alternatives? | /r/PiratedGames | 2023-12-09

    https://www.minetest.net/ This is a pretty good opensource minecraft clone essentially, with some of it's own features.

  • entt

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

    Project mention: Focus: A simple and fast text editor written in Jai | news.ycombinator.com | 2023-09-02

    https://pastebin.com/VPypiitk This is a very small experiment i did to learn the metaprogramming features. its an ECS library using the same model as entt (https://github.com/skypjack/entt). In 200 lines or so it does the equivalent of a few thousand lines of template heavy Cpp while compiling instantly and generating good debug code.

    Some walkthrough:

    Line 8 declares a SparseSet type as a fairly typical template. its just a struct with arrays of type T inside. Next lines implement getters/setters for this data structure

    Line 46 Base_Registry things get interesting. This is a struct that holds a bunch of SparseSet of different types, and providers getters/setters for them by type. It uses code generation to do this. The initial #insert at the start of the class injects codegen that creates structure members from the type list the struct gets on its declaration. Note also how type-lists are a native structure in the lang, no need for variadics.

    Line 99 i decide to do variadic style tail templates anyway for fun. I implement a function that takes a typelist and returns the tail, and the struct is created through recursion as one would do in cpp. Getters and setters for the View struct are also implemented through recursion

    Line 143 has the for expansion. This is how you overload the for loop functionality to create custom iterators.

    The rest of the code is just some basic test code that runs the thing.

  • doctest

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

    Project mention: Unit testing tool suggestions | /r/learnprogramming | 2023-05-07

    I have never used "tools" for unit-tests, only web sites that show the results of the tests or code coverage. For C++ I prefer https://github.com/doctest/doctest but most companies I worked for use Catch2.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • flecs

    A fast entity component system (ECS) for C & C++

    Project mention: ECS, Finally | news.ycombinator.com | 2023-12-30

    I've also been enjoying building My First Game™ in Bevy using ECS. The community around Bevy really shines, but Flecs (https://github.com/SanderMertens/flecs) is arguably a more mature, open-source ECS implementation. You don't get to write in Rust, though, which makes it less cool in my book :)

    I'm not very proud of the code I've written because I've found writing a game to be much more confusing than building websites + backends, but, as the author notes, it certainly feels more elegant than OOP or globals given the context.

    I'm building for WASM and Bevy's parallelism isn't supported in that context (yet? https://github.com/bevyengine/bevy/issues/4078), so the performance wins are just so-so. Sharing a thread with UI rendering suuucks.

    If anyone wants to browse some code or ask questions, feel free! https://github.com/MeoMix/symbiants

  • PrismLauncher

    A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC)

    Project mention: Curseforge (Overwolf) on Linux Mint | /r/linux_gaming | 2023-12-11

    I recommend switching to Prism Launcher.

  • R3nzSkin

    Skin changer for League of Legends (LOL)

    Project mention: name a better trio | /r/Draven | 2023-07-09
  • 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: What C++ library do you wish existed but hasn’t been created yet? | /r/cpp | 2023-07-08

    I'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

  • 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: Any tips for how to make moddable games? | /r/gamedev | 2023-05-20

    As someone said, make the game data-driven is a good first step but I will say, also have some sort of way to add additional game logic. For C++ games, lua is really easy to embed the interpreter in your C++ binary, read in the files from a directory (like /mods) with the C++ filesystem api new in C++17, and it's very easy to use SoL to write an API for lua specific to your game. Many games use lua in this way and it's probably the most common mod path setup.

  • awesome-hpp

    A curated list of awesome header-only C++ libraries

  • compile-time-regular-expressions

    Compile Time Regular Expression in C++

    Project mention: Why are strings and IO so complicated? | /r/cpp | 2023-12-07

    CTRE (https://github.com/hanickadot/compile-time-regular-expressions) ranges::views (filter, transform, etc.) (C++20) str.find() + str.substr() freopen to stdin + cin >> extraction Parser libraries

  • Elements C++ GUI library

    Elements C++ GUI library

    Project mention: declarative GUI libraries | /r/cpp | 2023-06-23
  • 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: Not only Unity... | /r/opensourcegames | 2023-11-11
  • Tendis

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

    Project mention: Redis as a Database | news.ycombinator.com | 2023-10-24
  • cppinsights

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

    Project mention: C++20 Idioms for Parameter Packs | news.ycombinator.com | 2024-02-27

    Thank you! This is exactly the sort of thing I was looking for.

    I found the source at https://github.com/andreasfertig/cppinsights

  • HPX

    The C++ Standard Library for Parallelism and Concurrency

    Project mention: Does anyone know any good open source project to optimize? | /r/cpp | 2023-06-07
  • argparse

    Argument Parser for Modern C++

  • userver

    Production-ready C++ Asynchronous Framework with rich functionality

    Project mention: Rust vs Go/JVM: dev speed + safety in practice | /r/rust | 2023-06-25

    They recently open sourced internal framework: https://github.com/userver-framework/userver

  • nanobind

    nanobind: tiny and efficient C++/Python bindings

    Project mention: Progress on No-GIL CPython | news.ycombinator.com | 2023-10-20

    Take a look at https://github.com/wjakob/nanobind

    > More concretely, benchmarks show up to ~4× faster compile time, ~5× smaller binaries, and ~10× lower runtime overheads compared to pybind11.

  • Nameof C++

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

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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 2024-02-27.

Cpp17 related posts

Index

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

Project Stars
1 modern-cpp-tutorial 22,972
2 modern-cpp-features 18,667
3 awesome-modern-cpp 11,269
4 Modern-CPP-Programming 10,577
5 Minetest 9,973
6 entt 9,351
7 doctest 5,523
8 flecs 5,430
9 PrismLauncher 4,734
10 R3nzSkin 4,348
11 Magic Enum C++ 4,324
12 sol2 3,860
13 awesome-hpp 3,133
14 compile-time-regular-expressions 3,122
15 Elements C++ GUI library 2,886
16 xray-16 2,816
17 Tendis 2,796
18 cppinsights 2,677
19 HPX 2,405
20 argparse 2,292
21 userver 2,172
22 nanobind 1,987
23 Nameof C++ 1,919
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com