We recommend using Visual Studio 2017

Standard C++ Library TR1 Extensions Reference

This reference describes the Visual C++ implementation of the proposed extensions of the C++ ISO standard that are included in the draft document, "Technical Report 1." The Visual C++ implementation includes support for fixed-size arrays, function objects, hash tables, regular expressions, template metaprogramming, template types for aggregating related objects, and random-number generation.


Some features of TR1, such as the mathematical functions and certain C99 additions, are not included in the Visual C++ implementation of TR1.

TR1 Regular Expressions

Discusses the grammars of the various regular expression engines that TR1 supports.


Defines the container template class array and several supporting templates.

<functional> (TR1)

Defines several templates that help construct function objects, which are objects of a type that defines operator(). A function object can be a function pointer, but more typically, the object is used to store additional information that can be accessed during a function call.

<memory> (TR1)

Defines a class, an operator, and several templates that help allocate and free objects.


Defines many random number generators.


Defines a template class to parse regular expressions, and several template classes and functions to search text for matches to a regular expression object.


Defines a template tuple Class whose instances hold objects of varying types.


Defines templates that provide compile-time constants that give information about the properties of their type arguments.


Defines the container template classes unordered_map and unordered_multimap and their supporting templates.


Defines the container template classes unordered_multiset and unordered_set and their supporting templates.

<utility> (TR1)

Defines several general templates that can be used throughout the Standard Template Library.