STL/CLR Library Reference
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at 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 ofstd::
.
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.
In This Section
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: