What Belongs in the C++ Standard Library?
What Belongs in the C++ Standard Library?
The question, the terms, and the evidence.
The question, the terms, and the evidence.
2026
THE QUESTION
Every proposal asks the same thing
Should this component be added to the C++ standard library?
Every paper. Every meeting. The same question.
This talk is about how to answer it.
2 / 20
THE ANSWER
The default is no
The burden of overwhelming proof sits on the proposer.
Not hostility. Arithmetic.
The rest of this talk is the arithmetic.
3 / 20
THE SMALLEST FACT
The standard is finite
2,679
Pages in the C++26 working draft. 77 percent of it is library.
C++98 was 732 pages. The library name index has quadrupled since C++11.
Someone writes, reviews, implements, and maintains every page.
N5046, measured 2026-07-08
4 / 20
TERM 1
Complexity Budget
The standard can only carry so much specification. Every addition spends a finite resource.
A budget, not a wishlist.
Every addition is an allocation.�Every addition displaces someone else’s contribution.
5 / 20
TERM 2
Coordination Problem
A concept everybody needs, that every library implements differently.
The only problem standardization actually solves.
std::string solved one. The string type is passed across API boundaries.
6 / 20
TERM 3
The GitHub Test
What does standardization deliver that downloading the library does not?
If the answer is nothing, the answer is no.
Utility is not evidence. A useful library on GitHub is still a useful library.
7 / 20
TERM 4
Reach Test
How many people collect the benefit?
Five people in Bob's basement is not enough.
At least ten million C++ developers exist. What fraction does your component serve?
SlashData, Q3 2023
8 / 20
TERM 5
Standardization Penalty
Your library loses value the moment it enters the standard.
Like driving a new car off the lot.
std::regex: 28 minutes vs 22 seconds
P1433R0 (2019)
9 / 20
TERM 6
Interaction Tax
Every component permanently taxes everything standardized after it.
Each addition makes the next one harder.
A C++23 paper exists solely to let new iterators call old algorithms.
P2408R5 (2022)
10 / 20
TERM 7
Return on Complexity
Value delivered per page of standard spent.
The number that ranks proposals.
Positive is not the bar. Better than every competitor is the bar.
11 / 20
TERM 8
Standardization Dividend
What the community actually collects: benefit times reach, minus every cost.
The bottom line of standardization.
If the dividend is not enormous, the answer stays no.
12 / 20
THE BAR
What a proposal must show
Field reports from years of deployment
A reach census: who collects the benefit
The complexity price, stated honestly
Why you, over everything else on the docket
Design is not evidence.
13 / 20
EXAMPLE 1
std::regex
75x
Slower than the system egrep: 1,655 seconds for what egrep does in 22.
All three vendors: ABI-frozen, unfixable.
Deprecation polled in 2020. The paper never appeared.
It entered field-proven. The standard did the rest.
P1433R0 (2019)
14 / 20
EXAMPLE 2
std::unordered_map
200-300%
A faster, API-compatible unordered_map exists.
It is disallowed by ABI constraints.
The committee's own paper: inefficient forever.
The interface froze in 2003. The state of the art kept moving.
P1863R1, P2028R0 (2020)
15 / 20
EXAMPLE 3
Networking
23 years
Asio: field-proven since 2003. TS published 2018.
Polled out in 2021. Nothing shipped since.
The strongest field record ever offered, and the process still said no.
P2453R0 (2021), P4096R0 (2026)
16 / 20
THE PENALTY
What entry costs your library
API and ABI freeze on arrival
Vendors ship 1 to 6 years late, or never
Defect churn begins immediately
The living library outruns the frozen one
No exit: removal barely exists
Years of your life: hive ran 29 revisions over 8.4 years
Even the best case paid: fmt::print shipped 9.5 years before std::print.
17 / 20
THE ALTERNATIVE
Win users instead
Ship it
Win users
Evolve it for years
Return with field reports
Users make a library stronger. The standard cannot.
string_view, format, and mdspan all did exactly this.
18 / 20
START SMALLER
Standardize the smallest piece
Do you need the whole library in the standard? Maybe you need only the concepts.
Standardize the vocabulary: the concepts
Let others write algorithms against them
Let users prove the design right
Then come back for more
The smallest piece that solves the coordination problem is the strongest proposal.
19 / 20
The default answer is no.
That is what protects the standard - and your library.
2026