Libs And Frameworks
- K2A-B2-1C++ and CMakeJan 13, 2020
Modern target-based CMake for C++ — projects, libraries, dependencies (`find_package`, `FetchContent`), install/export, idioms and anti-patterns
- K2A-B2-2C++ OpenMPJan 13, 2020
OpenMP for C++ — fork/join, parallel loops and schedules, data sharing, reductions and `atomic`, sections and tasks, SIMD, synchronization
- K2A-B2-3C++ ProtobufJan 13, 2020
Protobuf in C++ — `.proto` schema, generated message API, binary/text/JSON serialization, `oneof`/repeated/map, arenas, schema evolution, sharing schemas with Python
- K2A-B2-4C++ BoostJan 17, 2020
Boost in modern C++ — what's been standardized, `variant`/visitor, `geometry` (distance/predicates/boolean ops/R-tree), Asio, Program Options, Multi-Index
- K2A-B2-5C++ EigenJan 17, 2020
Eigen linear algebra — matrices, storage order, decompositions and solvers, geometry (rotations/quaternions/axis-angle for SLAM, `wxyz` vs `xyzw`, homogeneous coords), aliasing and the `auto`-with-expression-templates pitfall
- K2A-B2-6C++ and BazelJan 17, 2020
Bazel for C++ and Python — Bzlmod and legacy WORKSPACE, BUILD files, `cc_*` and `py_*` rules, visibility, external deps, configurations, remote caching, Starlark macros and rules