The additions include regular expressions, smart pointers, hash tables, and random number generators.
The report's goal was "to build more widespread existing practice for an expanded C++ standard library".
The new components were defined in the std::tr1 namespace to distinguish them from the then-current standard library.
Wrapper references are useful above all for template functions, when argument deduction would not deduce a reference (e.g. when forwarding arguments): Smart pointers – adds several classes that simplify object lifetime management in complex cases.
Three main classes are added: The proposal is based on Boost Smart Pointer library.
[6] Some features of TR1, such as the mathematical special functions and certain C99 additions, are not included in the Visual C++ implementation of TR1.
For example: C++ is designed to be compatible with the C programming language, but is not a strict superset of C due to diverging standards.
TR1 attempts to reconcile some of these differences through additions to various headers in the C++ library, such as
Some of the proposals listed above are already included in the C++ standard or in draft versions of the Technical Specifications.