This documentation is archived and is not being maintained.

STL/CLR Library Reference

The STL/CLR Library is a packaging of the Standard Template Library (STL), a subset of the Standard C++ Library, for use with C++ and the .NET Framework common language runtime (CLR). With STL/CLR, you can use all the containers, iterators, and algorithms of STL in a managed environment.

To use STL/CLR:

  • Include headers from the cliext include subdirectory instead of the usual Standard C++ Library equivalents.

  • Qualify library names with cliext:: instead of std::.

STL/CLR exposes the generic types and interfaces that it uses in cross-assembly scenarios in the .NET assembly Microsoft.VisualC.STLCLR.dll. This DLL is included in .NET Framework 3.5. If you redistribute an application that uses STL/CLR, you will need to include the .NET Framework 3.5, as well as any other Visual C++ libraries that your project uses, in the dependencies section of your setup project.

cliext Namespace

Discusses the namespace that contains all the types of the STL/CLR Library.

STL/CLR Containers

Provides an overview of the containers that are found in the Standard C++ Library, including requirements for container elements, types of elements that can be inserted, and ownership issues.

Requirements for STL/CLR Container Elements

Describes minimum requirements for all reference types that are inserted into STL containers.

How to: Convert from a .NET Collection to a STL/CLR Container

Describes how to convert a .NET collection to an STL/CLR container.

How to: Convert from a STL/CLR Container to a .NET Collection

Describes how to convert an STL/CLR container to a .NET collection.

How to: Expose an STL/CLR Container from an Assembly

Shows how to display the elements of several STL/CLR containers written in a C++ assembly.

In addition, this section also describes the following components of STL/CLR: