C++ - Reddit – Telegram
C++ - Reddit
226 subscribers
48 photos
8 videos
24.3K links
Stay up-to-date with everything C++!
Content directly fetched from the subreddit just for you.

Join our group for discussions : @programminginc

Powered by : @r_channels
Download Telegram
[Open Source] IACore: A battery-included C++20 foundation library (IPC, Async, HTTP, Logging) to escape dependency hell.

Hey friends,

Like many of you, I grew tired of "C++ Dependency Hell".. Every time I started a new project (specifically game engines and dev tools), I found myself wasting days setting up the same glue code: finding an HTTP library, setting up a job system, wrestling with platform-specific IPC, and configuring a logger.

I wanted a "bedrock" library—something I could drop into any project and immediately have the essentials working, without linking 50 different `.lib` files manually.

So I built **IACore**. It started as the internal core library for my work at **IASoft**, but I realized it solves a problem almost every C++ dev faces. I’ve cleaned it up, added tests, and I'm open-sourcing it under GPLv3 today.

**What's inside?** It wraps "best-in-class" dependencies into a unified, coherent C++20 API. It manages its own deps via CMake `FetchContent`, so you don't need to install anything manually.

* ** IPC:** High-performance shared-memory ring buffers (wait-free SPSC).
* **🧵 Async:** A work-stealing job scheduler (High/Normal priority queues).
* **🌐 Networking:** A clean wrapper around `cpp-httplib` that handles Zlib/Gzip compression automatically.
* **📂 IO:** Memory-mapped file operations and optimized binary stream readers/writers.
* **🛠️ Modern:** Uses `std::span`, `tl::expected`, and C++20 concepts throughout.

**Where to get it:** [https://github.com/I-A-S/IACore](https://github.com/I-A-S/IACore)

Any and all feedback & questions are welcome! (Even the rude ones—I know how r/cpp can be sometimes 😆 ).

# Examples

**1. Async Tasks**

C++

#include <IACore/AsyncOps.hpp>

// Initialize worker threads (hardware_concurrency - 2)
IACore::AsyncOps::InitializeScheduler();

// Schedule a task
auto* mySchedule = new IACore::AsyncOps::Schedule();

IACore::AsyncOps::ScheduleTask([](auto workerID) {
printf("Running on worker %d\n", workerID);
}, 0, mySchedule);

// Wait for completion
IACore::AsyncOps::WaitForScheduleCompletion(mySchedule);

**2. HTTP Request**

C++

#include <IACore/HttpClient.hpp>

IACore::HttpClient client("https://api.example.com");
auto res = client.JsonGet<MyResponseStruct>("/data", {});

if (res) {
std::cout << "Data: " << res->value << "\n";
} else {
std::cerr << "Error: " << res.error() << "\n";
}

**3. IPC (Shared Memory Ring Buffer)**

*Manager:*

C++

#include <IACore/IPC.hpp>

// Spawns a child process and connects via Shared Memory
auto nodeID = manager.SpawnNode("MyChildNodeExe");
manager.WaitTillNodeIsOnline(*nodeID);

// Send data with zero-copy overhead
String msg = "Hello Node";
manager.SendPacket(*nodeID, 100, {(PCUINT8)msg.data(), msg.size()});

*Node:*

C++

#include <IACore/IPC.hpp>

class Node : public IACore::IPC_Node {
public:
void OnSignal(uint8_t signal) override {
// Handle signals
}

void OnPacket(uint16_t packetID, std::span<const uint8_t> payload) override {
// Handle packets
}
};

int main(int argc, char* argv[]) {
// The connection string is passed as the first argument by the Manager
if (argc < 2) return -1;

Node node;
// Connect back to the manager via Shared Memory
if (!node.Connect(argv[1])) return -1;

while(true) {
node.Update();
}
return 0;
}

https://redd.it/1pni3y8
@r_cpp
Pseudo Reflection in C++20

I discovered constexpr member pointers somewhere when looking at c++20. You can use them as compile time annotations to enable full reflection in c++20.

I got tired of playing with BOOST and nholman and wanted a better solution to reflection and had a lot of fun doing this.


Your mileage may vary


https://github.com/johnagrillo/meta\_h/tree/main




https://redd.it/1pnm5a3
@r_cpp
Possible GCC reflection error

Playing with GCC I got a situation like this:

#include <algorithm>
#include <array>
#include <print>
#include <meta>


consteval auto Name(const int integer){
    return std::meta::displaystringof(^^integer);
}
consteval auto Name(const std::meta::info meta){
    return std::meta::displaystringof(meta);
}
// <source>:21:28: error: call to consteval function 'Name(^^int)' is not a constant expression
//    17 |     std::println("{}", Name(^^int));
//       |                        ~~~~^~~~~~~
// But removing const fix it!! (works in Clang P2996)




int main(){
    std::println("{}", Name(3));
    std::println("{}", Name(^^int));


    return 0;
}

I think that this is not the expected behaviour, but is it a known bug to be patched?

https://redd.it/1po9oz2
@r_cpp
Do C++ developers exist?

Howdy folks! 🤠

I’ve been running an open-source project that turns images into colour-by-number templates. The JS side of things is doing great and I’ve got contributors for that, and they’re awesome.

Getting someone to touch the C++ core is like trying to find a unicorn. Seriously, it’s like C++ is the Black Plague to these people.🧟‍♂️ Everyone wants to work on the fun JS stuff, the frontend & React Hook WebAssembly bridge… but when it comes to the heavy-lifting C++, suddenly it’s “too hard” or “nah, I’ll pass.”

I get it, C++ can be a beast, but this is literally the heart of the project. Without it, none of the clustering or image processing magic even works. It’s like asking someone to play Jenga with bricks instead of sticks: still fun, but way more painful!

So here I am, ranting to the void. You're my last hope. Help me find the only other C++ developers on this earth.😁

If you know of someone who secretly enjoys fighting with C++ memory management and optimization, you are my hero. The JS folks are doing great, but we need some brave souls to dive into the C++ trenches with me so we can help the JS guys continue enjoying life.

Does anyone else feel this pain in OSS projects? Or am I just cursed to be the only one hunting for C++ contributors forever?

https://redd.it/1pofyma
@r_cpp
C++ Podcasts & Conference Talks (week 51, 2025)

Hi r/cpp! Welcome to another post in this series brought to you by Tech Talks Weekly. Below, you'll find all the C++ conference talks and podcasts published in the last 7 days:

# 📺 Conference talks

# CppCon 2025

1. **"Crafting the Code You Don’t Write: Sculpting Software in an AI World - Daisy Hollman - CppCon 2025"** ⸱ +5k views ⸱ 12 Dec 2025 ⸱ 01h 38m 50s
2. **"Can C++ Data Oriented Design Be ONE MILLION Times Faster? - Andrew Drakeford"** ⸱ +5k views ⸱ 10 Dec 2025 ⸱ 00h 53m 30s
3. **"The Declarative Programming SECRETS to More Readable C++ - Richard Powell"** ⸱ +4k views ⸱ 11 Dec 2025 ⸱ 00h 58m 34s
4. **"What's New for C++ in VS Code: CMake Improvements and GitHub Copilot Agents - Alexandra Kemper"** ⸱ +1k views ⸱ 15 Dec 2025 ⸱ 01h 01m 02s
5. **"Can Modern C++ SPEED UP Your Bundle Adjustment Pipeline? - Vishnu Sudheer Menon"** ⸱ +600 views ⸱ 16 Dec 2025 ⸱ 00h 58m 11s

# Meeting C++ 2025

1. **"Start teaching C++ (to beginners!) - Hannah Lenk - Meeting C++ 2025 lighning talks"** ⸱ +1k views ⸱ 11 Dec 2025 ⸱ 00h 11m 06s
2. **"C++23: using std::generator in practice - Nicolai Josuttis - Meeting C++ 2025"** ⸱ +800 views ⸱ 15 Dec 2025 ⸱ 01h 01m 30s

# PyData Paris 2025

1. **"Johan Mabille & Anutosh Bhat - xeus-cpp, the new C++ kernel for Jupyter."** ⸱ <100 views ⸱ 16 Dec 2025 ⸱ 00h 30m 02s

This post is an excerpt from the latest issue of ***Tech Talks Weekly*** which is a free weekly email with all the recently published Software Engineering podcasts and conference talks. Currently subscribed by +7,500 Software Engineers who stopped scrolling through messy YT subnoscriptions/RSS feeds and reduced FOMO. Consider subscribing if this sounds useful: *https://www.techtalksweekly.io/*

Let me know what you think. Thank you!

https://redd.it/1pp3moi
@r_cpp
Performance Engineer or RL Engineer

Dear all, I have an experience in performance optimization. I have worked in this field for a few years. I also have experience in C++ for many years.
Now I got an offer in RL field in a big company. It is confident.

Experience in performance opens a lot of doors. I can work in many big-techs.
But ML is growing now. And LLM probably can remove doors for C++ engineers.

Should I change my direction? I'm 30 years old now.

UPD: RL is Reinforcement Learning

https://redd.it/1pp7sxm
@r_cpp
Hey all I want a suggestion

So i'm in a private college pursuing B.tech in CS. I am currently in 1st semester but i want to do competitive programming , can anyone experienced help me with a roadmap that will actually work and i won't be wasting my time. I'm currently doing pattern printing so i'm beginner in C++

https://redd.it/1pph4sc
@r_cpp
Sorting Comparator function how they works internally ?

static bool cmp(int a, int b){
        return tostring(a) + tostring(b) >
               tostring(b) + tostring(a);
    }

https://redd.it/1pqdtxp
@r_cpp
Latest News From Upcoming C++ Conferences (2025-12-19)

OPEN CALL FOR SPEAKERS

CppCon Academy 2026 – CppCon Academy is asking for instructors to submit proposals for pre- and post-conference classes and/or workshops to be taught in conjunction with next year’s CppCon 2026.
Workshops can be online or onsite and interested instructors have until January 30th to submit their workshops. Find out more including how to submit your proposal at https://cppcon.org/cfp-for-2026-classes/
ACCU on Sea 2026 – Interested speakers have until January 11th to submit their talks which is scheduled to take place on 17th – 20th June. Find out more including how to submit your proposal at [https://accuconference.org/callforspeakers](https://accuconference.org/callforspeakers)

OTHER OPEN CALLS

(NEW) C++Online
(NEW) Call For Online Volunteers – Attend C++Online 2026 FOR FREE by becoming an online volunteer! Find out more including how to apply at [https://cpponline.uk/call-for-volunteers/](https://cpponline.uk/call-for-volunteers/)
(NEW) Call For Online Posters – Get a FREE ticket to C++Online 2026 by presenting an online poster in their virtual venue which can be on any C++ or C++ adjacent topic. Find out more and apply at https://cpponline.uk/posters
(NEW) Call For Open Content – Get a FREE ticket to C++Online 2026 by…
Presenting a talk, demo or workshop as open content at the start or end of each day of the event. Find out more and apply at https://cpponline.uk/call-for-open-content/
Running a meetup or host a social event like a pub quiz or a tetris tournament.  Find out more and apply at [https://cpponline.uk/call-for-meetups/](https://cpponline.uk/call-for-meetups/)
If you run a meetup, then discounted entry will be given for other members of your meetup. 

TICKETS AVAILABLE TO PURCHASE

The following conferences currently have tickets available to purchase

ACCU on Sea (15th – 20th June) – You can buy super early bird tickets at [https://accuconference.org/booking](https://accuconference.org/booking) with discounts available for ACCU members.

OTHER NEWS

(NEW) C++Online 2026 Announced (11th – 13th March) – The C++Online 2026 Conference has been announced and will run as an online only conference and will also include post-conference workshops (separate registration required). Find out more at https://cpponline.uk/announcing-cpponline-2026-11th-13th-march/
(NEW) C++Now 2026 Announced (4th – 8th May) – The C++Now 2026 Conference has been announced and will run as an in-person only conference in Aspen, Colorado. Find out more at [https://cppnow.org/announcements/2025/12/announcing-cppnow-2026/](https://cppnow.org/announcements/2025/12/announcing-cppnow-2026/)
C++Online 2026 Call For Reviews Open – The C++Online team are looking for people to review talks that were submitted to be considered for the C++ Online 2026 programme. Please visit https://speak.cpponline.uk/ and login or make an account to review the talks with reviews accepted until December 22nd.

https://redd.it/1pqpv7p
@r_cpp