// reference

Toolset

A curated reference for working C++ developers in 2026. Premium open-source first. Hard OSS made easier. Runnable claims, freshness bar, methodology you can audit.

  1. Premium open-source / free first. Commercial only when no comparable OSS exists, with a one-line "why".
  2. Hard OSS made easier. Integration recipes turn 4-hour setups into 30 minutes.
  3. Cost transparency. Every entry shows "$0 self-hosted; $X/mo cloud-equivalent".
  4. Runnable claims. Compiler-support links to godbolt URLs we run; local-LLM recipes target hardware we own.
  5. Freshness bar. Every page shows when it was last reviewed and when the next review is due.

Safety

Memory, lifetime, bounds, type.

recipe /

C++26 Contracts -- four enforcement modes, one migration path

P2900R14 Contracts shipped in C++26: preconditions, postconditions, and contract_assert with four enforcement modes (ignore, observe, enforce, quick_enforce). GCC 16.1 implements them via -fcontracts. This page covers the syntax, the replaceable violation handler, practical patterns for module boundaries and serialization, contracts as fuzz oracles, and the migration path from observe-in-staging to enforce-in-production.

  • #safety
  • #contracts
  • #p2900
  • #gcc
curated /

Modern C++ Reading List 2026 -- the safety + security canon

The committee papers, talks, industry deployment reports, blog posts, and regulatory references that define the modern + secure + safe-by-default C++ conversation in 2026. Quarterly-refreshed. Companion piece to the May 2026 'C++ Safety State of the Union' essay.

  • #safety
  • #security
  • #profiles
  • #contracts
curated /

Testing for safety in 2026 -- the four coverage levels and the reflection-driven shortcut

Catch2 / doctest / GoogleTest / boost-ext.UT for the floor, RapidCheck for properties, libFuzzer + AFL++ for the ceiling, differential testing for the corners. Plus the C++26 reflection pattern that auto-generates per-field tests so the test suite grows with the schema. Plus the C++26 contracts + C++29 injection direction that turns specs into tests.

  • #safety
  • #testing
  • #fuzzing
  • #catch2
curated /

Lifetime safety in C++ 2026 -- lifetimebound, dangling-detection, and the schema-level borrow lint

Bounds and null are easy to talk about; lifetime is the hard one. C++ in 2026 ships [[clang::lifetimebound]], `-Wdangling-gsl`, the C++ Core Guidelines lifetime profile (P1179), `gsl::not_null`, and scope guards via `std::scope_exit`. Plus a reflection-driven schema lint that forces every non-owning view member to declare its borrow intent at the type level -- catching the structural dangle that escapes the per-call analyzer.

  • #safety
  • #lifetime
  • #lifetimebound
  • #dangling
curated /

Memory safety in C++26 and beyond -- what shipped, what's deferred to C++29, what to flip on today

C++26 shipped Hardened standard library + Contracts + Reflection. The [[profiles::enforce]] attribute (P3081 / P3589 / P3984) was deferred to C++29. This page covers what you can turn on TODAY for memory safety -- across libc++, libstdc++, MSVC, clang-tidy, the lifetime attributes, and a reflection-driven user-library check -- plus the C++29 profile direction the standard is now heading toward.

  • #safety
  • #memory-safety
  • #hardened-stdlib
  • #libc++
recipe /

Sanitizers in 2026 -- safety today, reflection tomorrow

ASan / UBSan / TSan / MSan / HWASan: when to use each, the CI pattern, the reflection-driven safe-by-construction alternative C++26 already enables, and the C++29-direction profile + injection that makes most sanitizer-found bugs uncompilable.

  • #safety
  • #sanitizers
  • #asan
  • #ubsan

Performance

Cache, SIMD, allocators, profiling.

Security

Hardened stdlib, supply chain, secure coding.

Compliance

Functional safety, qualified tools, coding standards.

AI tooling

AI agents + local LLMs for C++ work.

Reflection

C++26 reflection: compiler support + library backends.

How we test

Every claim on this site is either auto-generated from data we keep fresh, or based on hands-on use we can describe. Here is what that means per section kind:

  • Matrix sections read from src/data/godbolt-permalinks.yml , which the publish pipeline regenerates per post via the scripts/shorten-examples.py godbolt-API gate. A green cell means the example compiles AND runs cleanly under that compiler today.
  • Curated sections are opinionated link directories. Each tool we recommend has a one-line "why" and a verdict for C++ work specifically. Editorial bias: premium open-source first.
  • Recipe sections are scenario-driven walkthroughs by us (toolchain choices, project setup, sanitiser flags, decision trees). Working snippets, no marketing.
  • Integration sections are "hard OSS made easier" guides: install scripts, systemd units, config snippets pre-tuned for C++. When applicable, our reference hardware is a Jetson AGX Thor (126 GB unified LPDDR5X) running open-weight models behind Tailscale.

Every non-matrix page surfaces a Reviewed YYYY-MM-DD badge at the top, plus a Next review by date 90 days out. If a page is past its review date and still on the site, that is a bug — please open an issue.

For AI agents

Every toolset page also exposes a machine-readable companion at /toolset/<slug>/llms.txt, indexed at the site-root /llms.txt per the llmstxt.org convention. Point your coding agent at that path and it can fetch concise, actionable guidance directly — without scraping HTML.