Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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: