Skip to content

Complete Beginner Tutorial

This directory contains a complete beginner tutorial for the OnceCallback component, consisting of 13 articles that cover the full learning path from reviewing basic C++ features to component implementation and testing.

Prerequisites

First, master the core C++ features required for OnceCallback:

Hands-on Practice

After completing the prerequisites, we will start implementing OnceCallback:

Companion Code

The standalone C++ example code covered in the prerequisite chapters has been extracted into minimal, compilable projects located at:

text
code/volumn_codes/vol9/full_tutorial_codes/chrome_design/
ExampleTopicSource ArticleMin C++ Standard
01_move_semantics.cppMove semantics, perfect forwarding, variadic templatespre-00C++17
02_smart_pointers.cppunique_ptr, shared_ptrpre-00C++17
03_atomic_memory_order.cppatomic, memory_order, enum classpre-00C++17
04_lambda_basics.cppCapture modes, generic lambda, [[nodiscard]]pre-00C++17
05_lambda_advanced.cppmutable lambda, init capture, C++17/C++20 bindpre-03C++20
06_type_traits.cpptype traits, if constexpr, decltype(auto), ref-qualifierpre-00C++17
07_function_type_specialization.cppFunction types, FuncTraits, primary template + partial specializationpre-01C++17
08_invoke.cppstd::invoke, std::invoke_result_tpre-02C++17
09_concepts_requires.cppconcept, requires, not_the_same_t, template constructor hijackingpre-04C++20
10_move_only_function.cppstd::move_only_function ctor/move/empty check/SBOpre-05C++23
11_deducing_this.cppdeducing this deduction rules, lvalue interceptionpre-06C++23

Build instructions:

bash
cd code/volumn_codes/vol9/full_tutorial_codes/chrome_design
mkdir build && cd build
cmake ..
make -j$(nproc)

v0.7.0-9-g940ec1b · 940ec1b · 2026-07-05