ISO Alphabet Soup
The International Organization for Standardization,
known as ISO, is the governing body under which C++ is standardized. To
understand the C++ standardization process, you need to know the meaning of
various ISO acronyms, some of which changed recently.
ISO acronyms
- "TC" = "Technical Corrigendum" = bug-fix service-pack, such as C++03.
- "TS" = "Technical Specification" = newspeak for what used to
be called a
Type 2 TR, such as the Library TR (which would now be called the
Library TS) -- something with technical meat but that's not quite ready for
inclusion in an IS yet.
- "TR" = "Technical Report" = newspeak for what used to
be called a Type 3 TR, such as the Performance TR -- something more descriptive.
- "IS" = "International Standard" = a major or minor revision (such as C++98 and C++11) or for standalone material that for whatever
reason should stand alone and is ready to be IS quality (such as
Special Math).
TSs and ISs are most clearly appropriate for work that is separable, such as
the Special
Math IS.
As an example, when the committee thinks technical work on the proposed Filesystem
library is complete, the committee can decide whether to continue progress:
- not at all;
- as a TS;
- as its own IS; or
- as part of the C++1y IS,
depending on:
- its quality (e.g., is it ready to be an IS?);
- its degree of coupling with existing library components (e.g., can it be decoupled to stand on its own as a TS or
IS?);
- its urgency (e.g., do we want to ship it sooner than C++1y?);
- its impact on headers (e.g. changes to existing headers work better for
the next standard);
- its other qualities/desiderata (e.g., do we want to enable conformance to
it separately as with Special Math?).
That decision will always be on a case-by-case basis.
Acknowlegements
This page is based on a C++ committee mailing list posting by Herb Sutter. It
was pulled together by Beman Dawes, and any mistakes are his alone. It is
strictly unofficial.
Revised:
2012-03-06