This directory is the entry point for the tour. Begin with hello_world to
verify your build, then browse to the topic you want to explore.
bazel run //src/_start_here/hello_world:mainIf that printed a greeting, your toolchain is set up correctly.
| Theme | What's in there |
|---|---|
language/ |
C++ language fundamentals (types, scope, classes, templates, …) |
modern_cpp/ |
C++11+ features (smart pointers, move, lambdas, C++17/20) |
datastructures/ |
DS implementations + demos + tests (heap, bst, graph, …) |
algorithms/ |
Algorithm implementations (sort, search, DP, backtracking, …) |
concurrency/ |
Threading and parallel demos |
performance/ |
Benchmarks, allocators, amortization |
problems/ |
Leetcode-style problem solutions |
shared/ |
Cross-cutting helpers (utility.h) |
Every concept folder follows the same shape: BUILD + README.md +
main.cc (demo) + optionally <name>.{h,cc} (library) + <name>_test.cc
(tests). Open any folder for that concept's deep dive.
bazel run //<path>:mainruns a demo;bazel test //<path>:...runs the tests.- Some demos are intentionally not built — they illustrate compiler errors or
are teaching skeletons. Look for
tags = ["manual"]in the BUILD with a one-line note explaining why.