C++ modern-cpp

Open-source C++ projects categorized as modern-cpp

Top 23 C++ modern-cpp 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 | /r/cpp_questions | 2023-02-11

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

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

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • EA Standard Template Library

    EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.

    Project mention: EA Standard Template Library Design | news.ycombinator.com | 2023-08-05
  • LeetCode-Solutions

    🏋️ Python / Modern C++ Solutions of All 2852 LeetCode Problems (Weekly Update)

    Project mention: A site that hosts implementations of various programming algorithms in different languages | /r/programming | 2023-02-07
  • 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.

  • Elements C++ GUI library

    Elements C++ GUI library

    Project mention: declarative GUI libraries | /r/cpp | 2023-06-23
  • immer

    Postmodern immutable and persistent data structures for C++ — value semantics at scale (by arximboldi)

    Project mention: Show HN: A hash array-mapped trie implementation in C | news.ycombinator.com | 2023-07-10

    How does this compare to https://github.com/arximboldi/immer (other than the C/C++ difference)?

    Also, it's my understanding that, in practice, persistent data structures require a garbage collector in order to handle deallocation when used in a general-purpose way. How does your implementation handle that?

  • SonarCloud

    Analyze your C and C++ projects with just one click.. SonarCloud, a cloud-based static analysis tool for your CI/CD workflows, offers a one-click automatic analysis of C and C++ projects hosted on GitHub. Zero configuration and free for open-source projects! Analyze free.

  • nana

    a modern C++ GUI library

  • sqlite_orm

    ❤️ SQLite ORM light header only library for modern C++

    Project mention: Introducing ZXORM - A C++20 ORM for SQLite with Compile Time Type Safety | /r/cpp | 2023-03-30

    Obligatory "how does it compare to" https://github.com/fnc12/sqlite_orm ?

  • eos

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

  • uvw

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

  • managarm

    Pragmatic microkernel-based OS with fully asynchronous I/O

    Project mention: RISC-V support (super-duper ultra WIP) by ElectrodeYT · Pull Request #534 · managarm/managarm | /r/RISCV | 2023-07-09
  • stdgpu

    stdgpu: Efficient STL-like Data Structures on the GPU

  • q

    C++ Library for Audio Digital Signal Processing (by cycfi)

  • butano

    Modern C++ high level GBA engine

    Project mention: Can you make a gba game in c++? | /r/gamedev | 2023-03-09
  • RigelEngine

    A modern re-implementation of the classic DOS game Duke Nukem II

    Project mention: Commander Keen: Can we get some love? | /r/retrogaming | 2023-07-04

    Duke Nukem 2 has a source port called Rigel Engine: https://github.com/lethal-guitar/RigelEngine/tags

  • liblava

    Modern and easy-to-use library for Vulkan

    Project mention: Vulkan all the way: Transitioning to a modern low-level graphics API in academia | /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.

  • cuda-api-wrappers

    Thin C++-flavored header-only wrappers for core CUDA APIs: Runtime, Driver, NVRTC, NVTX.

    Project mention: VUDA: A Vulkan Implementation of CUDA | news.ycombinator.com | 2023-07-01

    1. This implements the clunky C-ish API; there's also the Modern-C++ API wrappers, with automatic error checking, RAII resource control etc.; see: https://github.com/eyalroz/cuda-api-wrappers (due disclosure: I'm the author)

    2. Implementing the _runtime_ API is not the right choice; it's important to implement the _driver_ API, otherwise you can't isolate contexts, dynamically add newly-compiled JIT kernels via modules etc.

    3. This is less than 3000 lines of code. Wrapping all of the core CUDA APIs (driver, runtime, NVTX, JIT compilation of CUDA-C++ and of PTX) took me > 14,000 LoC.

  • Mudlet

    ⚔️ A cross-platform, open source, and super fast MUD client with scripting in Lua

    Project mention: Path to becoming a desktop applications software developer? | /r/cpp | 2023-04-29

    Mudlet is a crossplatform (Windows, macOS, Linux) C++ application that embeds Lua - could be a good way to get started with this kind of development in a safe environment and get some experience under your sleeve.

  • csv2

    Fast CSV parser and writer for Modern C++

  • structopt

    Parse command line arguments by defining a struct (by p-ranav)

    Project mention: The Val Object Model : Dave Abrahams, Sean Parent, Dimitri Racordon, David Sankel | /r/cpp | 2022-11-08
  • hlslpp

    Math library using hlsl syntax with SSE/NEON support

  • HFSM2

    High-Performance Hierarchical Finite State Machine Framework

    Project mention: State machine library for portable embedded application (C++11) | /r/embedded | 2023-06-08
  • Mergify

    Tired of breaking your main and manually rebasing outdated pull requests?. Managing outdated pull requests is time-consuming. Mergify's Merge Queue automates your pull request management & merging. It's fully integrated to GitHub & coordinated with any CI. Start focusing on code. Try Mergify for free.

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 2023-09-02.

C++ modern-cpp related posts


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

Project Stars
1 modern-cpp-tutorial 21,696
2 entt 8,615
3 EA Standard Template Library 7,339
4 LeetCode-Solutions 4,222
5 sol2 3,609
6 Elements C++ GUI library 2,725
7 immer 2,346
8 nana 2,135
9 sqlite_orm 1,949
10 eos 1,835
11 uvw 1,651
12 managarm 1,192
13 stdgpu 992
14 q 986
15 butano 840
16 RigelEngine 804
17 liblava 663
18 cuda-api-wrappers 650
19 Mudlet 645
20 csv2 461
21 structopt 436
22 hlslpp 425
23 HFSM2 381
Tired of breaking your main and manually rebasing outdated pull requests?
Managing outdated pull requests is time-consuming. Mergify's Merge Queue automates your pull request management & merging. It's fully integrated to GitHub & coordinated with any CI. Start focusing on code. Try Mergify for free.