// wro.cpp · established 2021

Modern C++
from Wrocław.

Modern C++ for production. Safety, performance, security, and the tooling that makes C++ ship in cars, trading systems, and hospitals. Flagship posts in English; community chat in Polish, over on Slack.

posts 106flagship 43short 63reflection-series 12/18events 24slack wrocpp.slack.com · meetup wro-cpp
01Latest posts
all posts →
/flagship/mp-units 05/18

The unit travels with the value

Every codebase has a comment like 'speed in m/s' that stopped being true two refactors ago. mp-units plugs quantities into std::format so the unit is printed from the type, with format specs that address the number and the unit separately. Change the unit and the log line follows. Episode 5 of the mp-units series.

  • #mp-units
  • #units
  • #format
  • #cpp23
/flagship/mp-units 04/18

A new unit in one line

In 1958 MIT students measured the Harvard Bridge in the body lengths of Oliver Smoot: 364.4 smoots plus one ear. Teaching mp-units the smoot, symbol, exact conversion factor and all, takes one line, and conversions, printing, and derived quantities work immediately. Episode 4 of the mp-units series.

  • #mp-units
  • #units
  • #extensibility
  • #cpp23
/flagship/mp-units 03/18

Points are not deltas

The temperature is 21 degrees and the temperature rose by 21 degrees are different quantities, and adding two of the first is meaningless. mp-units models this with the affine space: quantity_point for absolute readings, quantity for changes, and the nonsense operations do not compile. Episode 3 of the mp-units series.

  • #mp-units
  • #units
  • #affine-space
  • #cpp23
/flagship/mp-units 02/18

One per second is not one per second

Frequency (Hz), radioactivity (Bq), and angular velocity (rad/s) all share the dimension 1/s, so a dimensions-only units library happily adds a monitor's refresh rate to a radiation reading. mp-units pioneered quantity kinds: same dimension, different meaning, and mixing them does not compile. Episode 2 of the mp-units series.

  • #mp-units
  • #units
  • #type-safety
  • #cpp23
/flagship/mp-units 01/18

The unit bug that crashed into Mars

In 1999 the Mars Climate Orbiter was lost because one team's software spoke pound-force seconds and another's expected newton seconds. mp-units, a C++ quantities library, makes that whole bug class uncompilable. First post of a series that follows the library to its C++29 standardization bid.

  • #mp-units
  • #units
  • #safety
  • #cpp23
/flagship/pmr 08/18

WG21 now says new library types must ship a pmr alias

The worry that pmr is a C++17 experiment the committee abandoned is backwards. WG21's 2024 policy P3002 makes pmr the default vehicle for new allocating types, P1083 brings resource_adaptor in C++26, and P3153 makes optional allocator-aware. A live resource_adaptor demo bridges a classic allocator. Episode 8 of the pmr series.

  • #pmr
  • #allocators
  • #memory
  • #cpp26
02What to expect
wednesday · flagship

Long-form technical posts

Hands-on deep dives with runnable code: C++26 reflection, language features, patterns, case studies from local shops.

monday · short

"C++ This Fortnight"

Curated news, tool spotlights, conference talk picks, tiny patterns worth sharing.

monthly · events

Meetups & talks

Monthly online meetups streamed on YouTube + quarterly in-person at local venues in Wrocław.

evergreen · toolset

Reference + recipes

Compiler support, AI agents, local LLMs, sanitizers, profiling, hardened stdlib, qualified compilers. Premium open-source first;browse the hub.