Skip to content
AgileLogics
Advanced 5 min read

Advanced Projects

Prerequisites: Level 3 — Advanced

Build these using templates, concurrency, and modern C++ from Level 3.

1. Thread Pool

Build a small thread pool class: a fixed number of std::threads pull tasks (std::function<void()>) from a shared queue, protected by a std::mutex and std::condition_variable, until told to shut down.

2. Generic Data Structure Library

Write your own template<typename T> class LinkedList and template<typename T> class Stack, each RAII-managed (no manual delete needed by callers), with a Catch2 test suite covering edge cases (empty list, single element, many elements).

3. Simple JSON Parser

Using std::variant to represent a JSON value (string, number, bool, null, array, object), parse a small subset of JSON text into a tree of these values, and write a matching function to serialize it back to text.