Scott Meyers' Effective C++: TR1 Information (original) (raw)

TR1 Information

Effective C++, Third Edition summarizes TR1 this way:

TR1 ("Technical Report 1") is a specification for new functionality being added to C++'s standard library. This functionality takes the form of new class and function templates for things like hash tables, reference-counting smart pointers, regular expressions, and more. TR1 itself is just a document. As I write this in early 2005, the document has not been finalized, and its URL is subject to change.

TR1 has since been finalized. The final version is dated 24 June 2005. It's officially a draft, but that's due only to procedural issues; the content will not change.

TR1 Contents

The following table gives an overview of the contents of TR1. The columns show the page number of Effective C++, Third Edition that summarizes that part of TR1; the name used by Effective C++, Third Edition for that component; the name used in the TR1 Table of Contents for that component; and the number of the C++ standardization document that proposed the component.

TR1 itself contains no background information on the components it specifies, i.e., it offers no rationale for the functionality it provides, gives no examples of how it would be useful, provides no reasoning for the interfaces being the way they are, etc. That kind of information is available in the proposal documents and in the publications listed later on this page. In the table below, each proposal document number is a link to the proposal itself. Except as noted, all proposal documents are in HTML.

EC++Page _Effective C++, Third Edition_Name TR1 Name ProposalDocument
265 Smart Pointers Smart Pointers n1450
265 tr1::function Polymorphic Function Wrappers n1402
266 tr1::bind Function Object Binders n1455
266 Hash Tables Unordered Associative Containers n1456
266 Regular Expressions Regular Expressions n1429
266 Tuples Tuple Types n1403 (PDF)
267 tr1::array Fixed Size Array n1479
267 tr1::mem_fn Function Template mem_fn n1432
267 tr1::reference_wrapper Reference Wrappers n1453
267 Random Number Generation Random Number Generation n1452
267 Mathematical Special Functions Mathematical Special Functions n1422
267 C99 Compatibility Extensions C Compatibility n1568
267 Type Traits Metaprogramming and Type Traits n1424
267 tr1::result_of Function Return Types n1454

Publications About TR1

Coincidentally, two magazine overviews of TR1 appeared at about the same time Effective C++, Third Edition came out. They are:

There is also a comprehensive book on TR1:

TR1 Implementations

I am aware of the following implementations of all or major parts of TR1, but there may be others that I don't know about.